CN116991533A - 容量调整方法、装置、设备及存储介质 - Google Patents

容量调整方法、装置、设备及存储介质 Download PDF

Info

Publication number
CN116991533A
CN116991533A CN202210455436.4A CN202210455436A CN116991533A CN 116991533 A CN116991533 A CN 116991533A CN 202210455436 A CN202210455436 A CN 202210455436A CN 116991533 A CN116991533 A CN 116991533A
Authority
CN
China
Prior art keywords
application
capacity
adjustment
adjusted
plan
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
CN202210455436.4A
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.)
China Mobile Communications Group Co Ltd
China Mobile Group Zhejiang Co Ltd
Original Assignee
China Mobile Communications Group Co Ltd
China Mobile Group Zhejiang 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 China Mobile Communications Group Co Ltd, China Mobile Group Zhejiang Co Ltd filed Critical China Mobile Communications Group Co Ltd
Priority to CN202210455436.4A priority Critical patent/CN116991533A/zh
Publication of CN116991533A publication Critical patent/CN116991533A/zh
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5005Allocation of resources, e.g. of the central processing unit [CPU] to service a request
    • G06F9/5027Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • G06F2009/4557Distribution of virtual machine instances; Migration and load balancing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2209/00Indexing scheme relating to G06F9/00
    • G06F2209/50Indexing scheme relating to G06F9/50
    • G06F2209/5018Thread allocation

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

本发明属于计算机技术领域,公开了一种容量调整方法、装置、设备及存储介质。本发明通过获取目标应用集中各目标应用的应用运行信息;根据应用运行信息及预设线程利用率从目标应用集中选取待调整应用,并确定各待调整应用对应的扩缩容数量;对待调整应用及扩缩容数量进行熔断保护限制,生成容量调整计划;根据容量调整计划进行容量调整。由于根据应用运行信息即可准确计算出各应用的扩缩容数量,并筛选出需要进行容量调整的应用,无须消耗大量的人力,也无须进行复杂运算,从而实现了高效且精确的对应用进行容量调整,且在容量调整之前,还会进行熔断保护限制,避免因调整过大导致业务系统不稳定,提高了本发明容量调整方法的可靠性。

Description

容量调整方法、装置、设备及存储介质
技术领域
本发明涉及计算机技术领域,尤其涉及一种容量调整方法、装置、设备及存储介质。
背景技术
容量管理一直是困扰运维人员的一大难题。有效平衡成本和质量,使得最少的资源可以获得最大的容量,是每一个运维人员孜孜以求的目标。尤其是随着互联网业务模式的冲击,运营商也逐步尝试秒杀、直播等营销活动,瞬时的大流量冲击极大考验系统的容量。
而现有技术一般会采用基于全链路压测的容量规划方式或基于运行指标弹性伸缩的容量管理方式等方式进行容量调整,但是,现有技术在进行容量调整时存在以下缺陷:
基于全链路压测的容量规划方式时,压测所获得的容量评估结果与压测时的系统模块和业务场景存在极强的耦合,但是云原生架构下的系统迭代快速,业务模型多变,导致一次上线变更后压测的容量评估结果就不再适用。而且基于生产环境的全链路压测基本在晚上业务低谷时进行,压测耗时极长,且一次结果评估就需投入大量的人力,从而使得基于全链路压测的容量规划方式的时效性差,且成本极高。
而基于运行指标弹性伸缩容量管理方式仅能判断是否达到扩缩标准,并不能精确计算扩缩容的数量,造成资源浪费,在容量管理上的管理精度极低。并且,部分应用模块可能因等待下游应用返回响应而存在资源使用繁忙/空闲的假象,该方式可能会造成误判,影响生产系统平稳运行。
上述内容仅用于辅助理解本发明的技术方案,并不代表承认上述内容是现有技术。
发明内容
本发明的主要目的在于提供一种容量调整方法、装置、设备及存储介质,旨在解决现有技术无法高效且准确的进行容量调整的技术问题。
为实现上述目的,本发明提供了一种容量调整方法,所述方法包括以下步骤:
获取目标应用集中各目标应用的应用运行信息;
根据所述应用运行信息及预设线程利用率从所述目标应用集中选取待调整应用,并确定各待调整应用对应的扩缩容数量;
对所述待调整应用及所述扩缩容数量进行熔断保护限制,生成容量调整计划;
根据所述容量调整计划进行容量调整。
可选的,所述对所述待调整应用及所述扩缩容数量进行熔断保护限制,生成容量调整计划的步骤,包括:
获取历史容量调整计划,根据所述历史容量调整计划对所述待调整应用进行筛选,获得计划调整应用;
根据预设数量阈值对各计划调整应用对应的扩缩容数量进行限制,获得各计划调整应用对应的待调整数量;
获取预设调整间隔,根据所述预设调整间隔、所述计划调整应用及各计划调整应用对应的待调整数量生成容量调整计划。
可选的,所述根据所述历史容量调整计划对所述待调整应用进行筛选,获得计划调整应用的步骤,包括:
根据所述历史容量调整计划确定各待调整应用对应的前次调整时刻;
根据所述前次调整时刻及当前系统时刻确定各待调整应用对应的调整间隔时长;
将对应的调整间隔时长大于或等于预设时长阈值的待调整应用作为计划调整应用。
可选的,所述根据所述历史容量调整计划对所述待调整应用进行筛选,获得计划调整应用的步骤,包括:
根据所述历史容量计划确定各待调整应用在预设检测周期内的已调整次数;
将已调整次数小于预设调整次数阈值的待调整应用作为计划调整应用。
可选的,所述根据所述容量调整计划进行容量调整的步骤之后,还包括:
在调优分析功能被触发时,获取所述目标应用集对应的应用有向图,并从所述目标应用集中选取待治理应用;
对所述待治理应用进行永久容量治理;
在治理完成时,根据所述应用有向图获取所述待治理应用对应的上游应用;
对所述上游应用进行永久容量治理。
可选的,所述从所述目标应用集中选取待治理应用的步骤,包括:
根据所述应用有向图从所述目标应用集中选取待选取应用;
获取各待选取应用在预设分析时段内的容量变化次数;
将对应的容量变化次数大于或等于预设优化阈值的待选取应用作为待治理应用。
可选的,所述对所述上游应用进行永久容量治理的步骤,包括:
获取所述待治理应用对应的历史容量变化时刻,获得第一变化时刻集;
获取所述上游应用对应的历史容量变化时刻,获得第二变化时刻集;
根据所述第一变化时刻集及所述第二变化时刻集确定所述上游应用是否与所述待治理应用同频率容量变化;
若是,则对所述上游应用进行永久容量治理。
此外,为实现上述目的,本发明还提出一种容量调整装置,所述容量调整装置包括以下模块:
信息采集模块,用于获取目标应用集中各目标应用的应用运行信息;
扩缩确定模块,用于根据所述应用运行信息及预设线程利用率从所述目标应用集中选取待调整应用,并确定各待调整应用对应的扩缩容数量;
计划调整模块,用于对所述待调整应用及所述扩缩容数量进行熔断保护限制,生成容量调整计划;
容量调整模块,用于根据所述容量调整计划进行容量调整。
此外,为实现上述目的,本发明还提出一种容量调整设备,所述容量调整设备包括:处理器、存储器及存储在所述存储器上并可在所述处理器上运行的容量调整程序,所述容量调整程序被处理器执行时实现如上所述的容量调整方法的步骤。
此外,为实现上述目的,本发明还提出一种计算机可读存储介质,所述计算机可读存储介质上存储有容量调整程序,所述容量调整程序执行时实现如上所述的容量调整方法的步骤。
本发明通过获取目标应用集中各目标应用的应用运行信息;根据应用运行信息及预设线程利用率从目标应用集中选取待调整应用,并确定各待调整应用对应的扩缩容数量;对待调整应用及扩缩容数量进行熔断保护限制,生成容量调整计划;根据容量调整计划进行容量调整。由于根据应用运行信息即可准确计算出各应用的扩缩容数量,并筛选出需要进行容量调整的应用,无须消耗大量的人力,也无须进行复杂运算,从而实现了高效且精确的对应用进行容量调整,且在容量调整之前,还会进行熔断保护限制,避免因调整过大导致业务系统不稳定,提高了本发明容量调整方法的可靠性。
附图说明
图1是本发明实施例方案涉及的硬件运行环境的电子设备的结构示意图;
图2为本发明容量调整方法第一实施例的流程示意图;
图3为本发明容量调整方法第二实施例的流程示意图;
图4为本发明容量调整装置第一实施例的结构框图。
本发明目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。
具体实施方式
应当理解,此处所描述的具体实施例仅用以解释本发明,并不用于限定本发明。
参照图1,图1为本发明实施例方案涉及的硬件运行环境的容量调整设备结构示意图。
如图1所示,该电子设备可以包括:处理器1001,例如中央处理器(CentralProcessing Unit,CPU),通信总线1002、用户接口1003,网络接口1004,存储器1005。其中,通信总线1002用于实现这些组件之间的连接通信。用户接口1003可以包括显示屏(Display)、输入单元比如键盘(Keyboard),可选用户接口1003还可以包括标准的有线接口、无线接口。网络接口1004可选的可以包括标准的有线接口、无线接口(如无线保真(Wireless-Fidelity,WI-FI)接口)。存储器1005可以是高速的随机存取存储器(RandomAccess Memory,RAM),也可以是稳定的非易失性存储器(Non-Volatile Memory,NVM),例如磁盘存储器。存储器1005可选的还可以是独立于前述处理器1001的存储装置。
本领域技术人员可以理解,图1中示出的结构并不构成对电子设备的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。
如图1所示,作为一种存储介质的存储器1005中可以包括操作系统、网络通信模块、用户接口模块以及容量调整程序。
在图1所示的电子设备中,网络接口1004主要用于与网络服务器进行数据通信;用户接口1003主要用于与用户进行数据交互;本发明电子设备中的处理器1001、存储器1005可以设置在容量调整设备中,所述电子设备通过处理器1001调用存储器1005中存储的容量调整程序,并执行本发明实施例提供的容量调整方法。
本发明实施例提供了一种容量调整方法,参照图2,图2为本发明一种容量调整方法第一实施例的流程示意图。
本实施例中,所述容量调整方法包括以下步骤:
步骤S10:获取目标应用集中各目标应用的应用运行信息。
需要说明的是,本实施例的执行主体可以是所述容量调整设备,所述容量调整设备可以是个人电脑、服务器等电子设备,还可以是其他可实现相同或相似功能的设备,本实施例对此不加以限制,在本实施例及下述各实施例中,以容量调整设备为例对本发明容量调整方法进行说明。
需要说明的是,目前软件开发均已经采用微服务,不同的微服务可以部署在不同的容器(服务器或虚拟机等)中,用于提供业务服务,而应用可以是一批可提供相同业务服务的容器,例如:假设容器A、B、C均提供注册服务,则此时,容器A、B、C合称为一个应用。目标应用可以是被容量调整设备进行容量管理的应用。目标应用集中可以包括所有被容量调整设备管理的目标应用的应用信息。应用运行信息可以包括应用中的业务请求响应耗时、集群总请求量、单容器的最大线程数、当前容器总数等信息。
在实际使用中,单容器的最大线程数可以由容量调整设备的管理人员根据容器的性能参数预先进行设置,当前容器总数可以是应用中当前包含的容器的总量。集群总请求量可以是统计预设时间周期之中该应用所有容器接收到的请求总量,预设时间周期可以由容量调整设备的管理人员根据实际需要进行设置,例如:将预设时间周期设置为1分钟。
在具体实现中,容量调整设备可以与数据库相连,该数据库中可以存储有目标应用的应用信息,例如:系统标识、模块标识及容器标识等。容量调整设备可以从数据库中读取目标应用的各项信息,从而获得目标应用集。获取目标应用的应用运行信息可以是根据目标应用的应用信息访问目标应用,然后采集应用运行信息。
步骤S20:根据所述应用运行信息及预设线程利用率从所述目标应用集中选取待调整应用,并确定各待调整应用对应的扩缩容数量。
需要说明的是,预设线程利用率可以由容量调整设备的管理人员预先进行设置,不同的应用可以对应不同的预设线程利用率。
在实际使用中,根据应用运行信息及预设线程利用率从目标应用集中选取待调整应用,并确定各待调整应用对应的扩缩容数量可以是先根据应用运行信息及预设线程利用率计算该应用所需要的容器配额Q,然后将容器配额Q与该应用的应用运行信息中的当前容器总数N进行比较,若当前容器总数N与容器配额Q不一致,则可以将该应用作为待调整应用,且该待调整应用对应的扩缩容数量C=Q-N,其中,若C>0,则表示需要扩容C个容器;若C<0,则表示需要缩容C个容器。
在实际使用中,根据应用运行信息及预设线程利用率可以是通过容器配额计算公式根据应用运行信息及预设线程利用率进行计算,从而确定该应用的容器配额Q,其中,容器配额计算公式为:
式中,Q为容器配额,K为该应用对应的预设线程利用率,t为应用运行信息中包含的业务请求响应耗时,R为应用运行信息中包含的集群总请求量,T为应用运行信息中包含的单容器的最大线程数,S为统计集群总请求量时所使用的预设时间周期,单位为秒。
步骤S30:对所述待调整应用及所述扩缩容数量进行熔断保护限制,生成容量调整计划。
需要说明的是,确认的待调整应用数量可能过多,扩缩容数量也可能数量过大,而若一次对过多的应用进行扩缩容、一次扩容或缩容过多的容器,或扩缩容的频率过高,可能会导致整体业务系统的稳定性下降,严重甚至会直接导致业务系统崩溃,为了避免此种现象,在确定待调整应用及各待调整应用对应的扩缩容数量之后,需要对待调整应用及扩缩容数量进行熔断保护限制,然后根据限制过后的待调整应用及扩缩容数量生成容量调整计划,则此时可以保证生成的容量调整计划并不会导致业务系统的稳定性下降。
进一步的,为了保证生成的容量调整计划不会导致业务系统的稳定性下降,本实施例所述步骤S30,可以包括:
获取历史容量调整计划,根据所述历史容量调整计划对所述待调整应用进行筛选,获得计划调整应用;
根据预设数量阈值对各计划调整应用对应的扩缩容数量进行限制,获得各计划调整应用对应的待调整数量;
获取预设调整间隔,根据所述预设调整间隔、所述计划调整应用及各计划调整应用对应的待调整数量生成容量调整计划。
需要说明的是,历史容量调整计划可以是之前进行容量调整时使用的容量调整计划。预设调整间隔可以由容量调整设备的管理人员根据扩缩容生效时长预先进行设置。根据历史容量调整计划对待调整应用进行筛选,获得计划调整应用可以是根据历史容量调整计划对待调整应用进行筛选,将调整过于频繁的待调整应用清除,并将剩余的待调整应用作为计划调整应用。
在实际使用中,根据预设数量阈值对各计划调整应用对应的扩缩容数量进行限制,获得各计划调整应用对应的待调整数量可以是将各计划调整应用对应的扩缩容数量分别与预设数量阈值进行比较,若扩缩容数量大于预设数量阈值,则将预设数量阈值作为计划调整应用对应的待调整数量,若扩缩容数量小于或等于预设数量阈值,则将扩缩容数量作为计划调整应用对应的待调整数量。其中,预设数量阈值可以由容量调整设备的管理人员预先进行设置,例如:将预设数量阈值设置为5。
在实际使用中,根据预设调整间隔、计划调整应用及各计划调整应用对应的待调整数量生成容量调整计划时还可以先依据各计划调整应用的优先级确定应用调整顺序,然后根据应用调整顺序、预设调整间隔、计划调整应用及各计划调整应用对应的待调整数量生成容量调整计划。
在具体实现中,确定某待调整应用是否调整过于频繁,可以根据前次对该待调整应用进行容量调整的时刻及当前时刻确定,则此时本实施例所述根据所述历史容量调整计划对所述待调整应用进行筛选,获得计划调整应用的步骤,可以包括:
根据所述历史容量调整计划确定各待调整应用对应的前次调整时刻;
根据所述前次调整时刻及当前系统时刻确定各待调整应用对应的调整间隔时长;
将对应的调整间隔时长大于或等于预设时长阈值的待调整应用作为计划调整应用。
需要说明的是,前期调整时刻可以是距离当前时刻最近的一次对待调整应用进行容量调整的时刻。根据前次调整时刻及当前系统时刻确定待调整应用对应的调整间隔时长可以是将前次调整时刻及当前系统时刻的差值的绝对值作为调整间隔时长。预设时长阈值可以由容量调整设备的管理人员根据扩缩容启动到被业务系统检测到的时长预先进行设置,例如:假设从业务系统检测到扩缩容执行到生效之间有约10分钟的时间差,则此时可以将预设时长阈值设置为10分钟。
可以理解的是,若待调整应用对应的调整间隔时长小于预设时长阈值,则表示对该待调整应用已经进行过容量调整,但是,该调整可能还并未生效,此时若再对该应用进行容量调整,则可能会由于调整频率过高,从而影响到业务系统的稳定性,因此,可以将对应的调整间隔时长小于预设时长阈值的待调整应用清除,然后将对应的调整间隔时长大于或等于预设时长阈值的待调整应用作为计划调整应用。
在具体实现中,确定某待调整应用是否调整过于频繁,还可以根据在单位时间内对该待调整应用的调整次数来确定,则此时,本实施例所述根据所述历史容量调整计划对所述待调整应用进行筛选,获得计划调整应用的步骤,可以包括:
根据所述历史容量计划确定各待调整应用在预设检测周期内的已调整次数;
将已调整次数小于预设调整次数阈值的待调整应用作为计划调整应用。
需要说明的是,预设检测周期可以由容量调整设备的管理人员预先进行设置。根据历史容量计划确定待调整应用在预设检测周期内的已调整次数可以是根据预设检测周期及当前系统时刻确定当前检测时间范围,然后统计历史容量计划中对该待调整应用的调整时刻在当前检测时间范围内的次数,并将统计得到的次数作为已调整次数。例如:假设将预设检测周期设置为10分钟,当前系统时刻为9:00,则此时当前检测时间范围为[8:50-9:00],若统计历史容量计划中对该待调整应用的调整时刻在当前检测时间范围内的次数为2次,则此时已调整次数为2次。
可以理解的是,若已调整次数大于或等于预设调整次数阈值,则表示对该待调整应用在短时间内已经进行过多次容量调整,若此时在对该待调整应用进行容量调整,可能会由于调整频率过高,从而影响到业务系统的稳定性,因此,可以将对应的已调整次数大于或等于待调整应用移除,然后将对应的已调整次数小于预设调整次数阈值的待调整应用作为计划调整应用。
在具体实现中,确定某待调整应用是否调整过于频繁还可以将上述两种不同的确定方式进行结合,本实施例对此不加以限制。
步骤S40:根据所述容量调整计划进行容量调整。
需要说明的是,根据容量调整计划进行容量调整可以是读取容量调整计划中数据,根据读取到的计划调整应用、各计划调整应用对应的待调整数量、应用调整顺序及计划调整间隔对各待调整应用按顺序进行容量调整。
例如:假设读取到的计划调整应用为A、B、C、D四个,各计划调整应用对应的待调整数量分别为2、-1、3、-2,应用调整顺序为B-C-A-D,计划调整间隔为30秒,则此时容量调整流程为:先对B应用缩容1个容器,等待30秒,再对C应用扩容3个容器,等待30秒,再对A应用扩容2个容器,等待30秒,最后对D应用缩容2个容器。
本实施例通过获取目标应用集中各目标应用的应用运行信息;根据应用运行信息及预设线程利用率从目标应用集中选取待调整应用,并确定各待调整应用对应的扩缩容数量;对待调整应用及扩缩容数量进行熔断保护限制,生成容量调整计划;根据容量调整计划进行容量调整。由于根据应用运行信息即可准确计算出各应用的扩缩容数量,并筛选出需要进行容量调整的应用,无须消耗大量的人力,也无须进行复杂运算,从而实现了高效且精确的对应用进行容量调整,且在容量调整之前,还会进行熔断保护限制,避免因调整过大导致业务系统不稳定,提高了本发明容量调整方法的可靠性。
参考图3,图3为本发明一种容量调整方法第二实施例的流程示意图。
基于上述第一实施例,本实施例容量调整方法在所述步骤S40之后,还包括:
步骤S50:在调优分析功能被触发时,获取所述目标应用集对应的应用有向图,并从所述目标应用集中选取待治理应用。
需要说明的是,调优分析功能被触发可以是由用户操作容量调整设备触发,例如:用户点击调整分析功能按钮,触发调优分析功能。也可以是由容量调整设备在检测到系统运行信息满足预设触发条件时触发,例如:假设预设触发条件为每月1号凌晨3点触发,则容量调整设备在检测到系统运行时刻为当月1号凌晨3点时,会触发调优分析功能。目标应用集对应的应用有向图可以是根据目标应用集中发生过容量调整(扩容或缩容)的目标应用及各目标应用之间的调用关系构建的有向图。
需要说明的是,若应用频繁触发扩缩容,可能会导致业务系统的抖动,从而影响业务系统的运行,甚至会令业务系统出现部分异常,针对此种频繁触发扩缩容的应用需要进行额外处理,则此时从目标应用集中选取待治理应用可以是选取扩缩容频率较高的应用作为待治理应用。
进一步的,并非所有扩缩容频率较高的应用均为自身原因导致,即并非所有扩缩容频率较高的应用均需要进行永久容量治理,为了准确的确定需要进行永久容量治理的应用,可以先对最下游应用进行永久容量治理,再逐步对上游应用进行永久容量治理,本实施例所述从所述目标应用集中选取待治理应用的步骤,可以包括:
根据所述应用有向图从所述目标应用集中选取待选取应用;
获取各待选取应用在预设分析时段内的容量变化次数;
将对应的容量变化次数大于或等于预设优化阈值的待选取应用作为待治理应用。
需要说明的是,根据应用有向图从目标应用集中选取待选取应用可以是统计应用有向图中的各应用的出度,将出度为0的应用,即不存在下游应用的应用作为待选取应用。预设分析时段可以由容量调整设备的管理人员根据实际需要进行设置,例如:将预设分析时段设置为30天以内。
在实际使用中,获取待选取应用在预设分析时段内的容量变化次数可以是统计待选取应用发生容量变化的容量变化时刻在预设分析时段内的次数,并将统计得到的次数作为容量变化次数。
可以理解的是,若容量变化次数大于或等于预设优化阈值,则表示该待选取应用的扩缩容频率超过了预设优化阈值,需要对该待选取应用进行永久容量治理,则此时可以将对应的容量变化次数大于或等于预设优化阈值的待选取应用作为待治理应用。
步骤S60:对所述待治理应用进行永久容量治理。
可以理解的是,待治理应用为频繁触发扩缩容的应用,因此,需要对待治理应用的容量进行调整,尽可能使其避免频繁触发扩缩容。
在实际使用中,对待治理应用进行永久容量治理可以是将待治理应用的容器数量调整为其多次扩缩容过程中的容器最大值,从而避免该待治理应用频繁触发扩缩容。
步骤S70:在治理完成时,根据所述应用有向图获取所述待治理应用对应的上游应用。
需要说明的是,待治理应用对应的上游应用为调用了待治理应用的应用。因为待治理应用频繁触发扩缩容,其对应的上游应用也可能出现了频繁扩缩容,因此,需要对其上游应用也进行永久容量治理。
在实际使用中,根据应用有向图获取待治理应用对应的上游应用可以是根据应用有向图中的连接关系,确定待治理应用对应的上游应用。
步骤S80:对所述上游应用进行永久容量治理。
可以理解的是,对上游应用进行永久容量治理也可以是将该上游应用的容器数量调整为其多次扩缩容过程中的容器最大值,从而避免该上游应用频繁触发扩缩容。
进一步的,由于上游应用可能是由于等待下游应用的返回,造成业务堵塞,从而出现了假性扩缩容,若对此类上游应用进行永久容量治理,可能会造成资源浪费,为了避免此种现象,本实施例所述步骤S80,可以包括:
获取所述待治理应用对应的历史容量变化时刻,获得第一变化时刻集;
获取所述上游应用对应的历史容量变化时刻,获得第二变化时刻集;
根据所述第一变化时刻集及所述第二变化时刻集确定所述上游应用是否与所述待治理应用同频率容量变化;
若是,则对所述上游应用进行永久容量治理。
需要说明的是,根据第一变化时刻集及第二变化时刻集确定上游应用是否与待治理应用同频率容量变化可以是根据第一变化时刻集及第二变化时刻集确定上游应用的容量变化时刻是否均晚于待治理应用的容量变化时刻,若上游应用的容量变化时刻均晚于待治理应用的容量变化时刻,则可以判定上游应用与待治理应用同频率容量变化,此时表示该上游应用出现了假性扩缩容,则此时可以不对上游应用进行永久容量治理;而若是上游应用的容量变化时刻不是均晚于待治理应用的容量变化时刻,则表示上游应用出现的频繁扩缩容为自身异常引起,则此时需要对该上游引用进行永久容量治理。
本实施例通过在调优分析功能被触发时,获取所述目标应用集对应的应用有向图,并从所述目标应用集中选取待治理应用;对所述待治理应用进行永久容量治理;在治理完成时,根据所述应用有向图获取所述待治理应用对应的上游应用;对所述上游应用进行永久容量治理。由于在调优分析功能触发时会从目标应用集中选取扩缩容频率较高的目标应用作为待治理应用,对待治理应用及其上游应用进行永久容量治理,可以尽可能减少弹性扩缩容操作,提高业务系统的稳定性。
此外,本发明实施例还提出一种存储介质,所述存储介质上存储有容量调整程序,所述容量调整程序被处理器执行时实现如上文所述的容量调整方法的步骤。
参照图4,图4为本发明容量调整装置第一实施例的结构框图。
如图4所示,本发明实施例提出的容量调整装置包括:
信息采集模块10,用于获取目标应用集中各目标应用的应用运行信息;
扩缩确定模块20,用于根据所述应用运行信息及预设线程利用率从所述目标应用集中选取待调整应用,并确定各待调整应用对应的扩缩容数量;
计划调整模块30,用于对所述待调整应用及所述扩缩容数量进行熔断保护限制,生成容量调整计划;
容量调整模块40,用于根据所述容量调整计划进行容量调整。
本实施例通过获取目标应用集中各目标应用的应用运行信息;根据应用运行信息及预设线程利用率从目标应用集中选取待调整应用,并确定各待调整应用对应的扩缩容数量;对待调整应用及扩缩容数量进行熔断保护限制,生成容量调整计划;根据容量调整计划进行容量调整。由于根据应用运行信息即可准确计算出各应用的扩缩容数量,并筛选出需要进行容量调整的应用,无须消耗大量的人力,也无须进行复杂运算,从而实现了高效且精确的对应用进行容量调整,且在容量调整之前,还会进行熔断保护限制,避免因调整过大导致业务系统不稳定,提高了本发明容量调整方法的可靠性。
进一步的,所述计划调整模块30,还用于获取历史容量调整计划,根据所述历史容量调整计划对所述待调整应用进行筛选,获得计划调整应用;根据预设数量阈值对各计划调整应用对应的扩缩容数量进行限制,获得各计划调整应用对应的待调整数量;获取预设调整间隔,根据所述预设调整间隔、所述计划调整应用及各计划调整应用对应的待调整数量生成容量调整计划。
进一步的,所述计划调整模块30,还用于根据所述历史容量调整计划确定各待调整应用对应的前次调整时刻;根据所述前次调整时刻及当前系统时刻确定各待调整应用对应的调整间隔时长;将对应的调整间隔时长大于或等于预设时长阈值的待调整应用作为计划调整应用。
进一步的,所述计划调整模块30,还用于根据所述历史容量计划确定各待调整应用在预设检测周期内的已调整次数;将已调整次数小于预设调整次数阈值的待调整应用作为计划调整应用。
进一步的,所述容量调整模块40,还用于在调优分析功能被触发时,获取所述目标应用集对应的应用有向图,并从所述目标应用集中选取待治理应用;对所述待治理应用进行永久容量治理;在治理完成时,根据所述应用有向图获取所述待治理应用对应的上游应用;对所述上游应用进行永久容量治理。
进一步的,所述容量调整模块40,还用于根据所述应用有向图从所述目标应用集中选取待选取应用;获取各待选取应用在预设分析时段内的容量变化次数;将对应的容量变化次数大于或等于预设优化阈值的待选取应用作为待治理应用。
进一步的,所述容量调整模块40,还用于获取所述待治理应用对应的历史容量变化时刻,获得第一变化时刻集;获取所述上游应用对应的历史容量变化时刻,获得第二变化时刻集;根据所述第一变化时刻集及所述第二变化时刻集确定所述上游应用是否与所述待治理应用同频率容量变化;若是,则对所述上游应用进行永久容量治理。
应当理解的是,以上仅为举例说明,对本发明的技术方案并不构成任何限定,在具体应用中,本领域的技术人员可以根据需要进行设置,本发明对此不做限制。
需要说明的是,以上所描述的工作流程仅仅是示意性的,并不对本发明的保护范围构成限定,在实际应用中,本领域的技术人员可以根据实际的需要选择其中的部分或者全部来实现本实施例方案的目的,此处不做限制。
另外,未在本实施例中详尽描述的技术细节,可参见本发明任意实施例所提供的容量调整方法,此处不再赘述。
此外,需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者系统不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者系统所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、方法、物品或者系统中还存在另外的相同要素。
上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如只读存储器(Read Only Memory,ROM)/RAM、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,或者网络设备等)执行本发明各个实施例所述的方法。
以上仅为本发明的优选实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本发明的专利保护范围内。

Claims (10)

1.一种容量调整方法,其特征在于,所述容量调整方法包括以下步骤:
获取目标应用集中各目标应用的应用运行信息;
根据所述应用运行信息及预设线程利用率从所述目标应用集中选取待调整应用,并确定各待调整应用对应的扩缩容数量;
对所述待调整应用及所述扩缩容数量进行熔断保护限制,生成容量调整计划;
根据所述容量调整计划进行容量调整。
2.如权利要求1所述的容量调整方法,其特征在于,所述对所述待调整应用及所述扩缩容数量进行熔断保护限制,生成容量调整计划的步骤,包括:
获取历史容量调整计划,根据所述历史容量调整计划对所述待调整应用进行筛选,获得计划调整应用;
根据预设数量阈值对各计划调整应用对应的扩缩容数量进行限制,获得各计划调整应用对应的待调整数量;
获取预设调整间隔,根据所述预设调整间隔、所述计划调整应用及各计划调整应用对应的待调整数量生成容量调整计划。
3.如权利要求2所述的容量调整方法,其特征在于,所述根据所述历史容量调整计划对所述待调整应用进行筛选,获得计划调整应用的步骤,包括:
根据所述历史容量调整计划确定各待调整应用对应的前次调整时刻;
根据所述前次调整时刻及当前系统时刻确定各待调整应用对应的调整间隔时长;
将对应的调整间隔时长大于或等于预设时长阈值的待调整应用作为计划调整应用。
4.如权利要求2所述的容量调整方法,其特征在于,所述根据所述历史容量调整计划对所述待调整应用进行筛选,获得计划调整应用的步骤,包括:
根据所述历史容量计划确定各待调整应用在预设检测周期内的已调整次数;
将已调整次数小于预设调整次数阈值的待调整应用作为计划调整应用。
5.如权利要求1-4中任一项所述的容量调整方法,其特征在于,所述根据所述容量调整计划进行容量调整的步骤之后,还包括:
在调优分析功能被触发时,获取所述目标应用集对应的应用有向图,并从所述目标应用集中选取待治理应用;
对所述待治理应用进行永久容量治理;
在治理完成时,根据所述应用有向图获取所述待治理应用对应的上游应用;
对所述上游应用进行永久容量治理。
6.如权利要求5所述的容量调整方法,其特征在于,所述从所述目标应用集中选取待治理应用的步骤,包括:
根据所述应用有向图从所述目标应用集中选取待选取应用;
获取各待选取应用在预设分析时段内的容量变化次数;
将对应的容量变化次数大于或等于预设优化阈值的待选取应用作为待治理应用。
7.如权利要求5所述的容量调整方法,其特征在于,所述对所述上游应用进行永久容量治理的步骤,包括:
获取所述待治理应用对应的历史容量变化时刻,获得第一变化时刻集;
获取所述上游应用对应的历史容量变化时刻,获得第二变化时刻集;
根据所述第一变化时刻集及所述第二变化时刻集确定所述上游应用是否与所述待治理应用同频率容量变化;
若是,则对所述上游应用进行永久容量治理。
8.一种容量调整装置,其特征在于,所述容量调整装置包括以下模块:
信息采集模块,用于获取目标应用集中各目标应用的应用运行信息;
扩缩确定模块,用于根据所述应用运行信息及预设线程利用率从所述目标应用集中选取待调整应用,并确定各待调整应用对应的扩缩容数量;
计划调整模块,用于对所述待调整应用及所述扩缩容数量进行熔断保护限制,生成容量调整计划;
容量调整模块,用于根据所述容量调整计划进行容量调整。
9.一种容量调整设备,其特征在于,所述容量调整设备包括:处理器、存储器及存储在所述存储器上并可在所述处理器上运行的容量调整程序,所述容量调整程序被处理器执行时实现如权利要求1-7中任一项所述的容量调整方法的步骤。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有容量调整程序,所述容量调整程序执行时实现如权利要求1-7中任一项所述的容量调整方法的步骤。
CN202210455436.4A 2022-04-24 2022-04-24 容量调整方法、装置、设备及存储介质 Pending CN116991533A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202210455436.4A CN116991533A (zh) 2022-04-24 2022-04-24 容量调整方法、装置、设备及存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202210455436.4A CN116991533A (zh) 2022-04-24 2022-04-24 容量调整方法、装置、设备及存储介质

Publications (1)

Publication Number Publication Date
CN116991533A true CN116991533A (zh) 2023-11-03

Family

ID=88523726

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202210455436.4A Pending CN116991533A (zh) 2022-04-24 2022-04-24 容量调整方法、装置、设备及存储介质

Country Status (1)

Country Link
CN (1) CN116991533A (zh)

Similar Documents

Publication Publication Date Title
CN105282047B (zh) 访问请求处理方法及装置
CN108038130B (zh) 虚假用户的自动清理方法、装置、设备及存储介质
CN104778591B (zh) 一种异常行为的特征信息的提取、识别方法和装置
CN107026750B (zh) 一种用户上网QoE评价方法及装置
CN112434039A (zh) 数据的存储方法、装置、存储介质以及电子装置
CN110830964B (zh) 信息调度方法、物联网平台和计算机可读存储介质
CN110831038A (zh) 网络切片资源调度方法及装置
CN111698303A (zh) 数据处理方法、装置、电子设备及存储介质
CN108075921B (zh) 一种大数据系统服务性能的监测方法、装置及服务器
CN111047338A (zh) 用户活跃度预测方法、预测系统及介质
CN108322915B (zh) 基站规划的信息处理方法与装置
CN113364670B (zh) 数据推送方法、装置及电子设备
CN107943678B (zh) 一种评价应用访问过程的方法及评价服务器
CN107846614B (zh) 一种视频流量调度方法、装置及电子设备
CN111756589A (zh) 云资源管理方法、装置、云服务器及存储介质
CN111428197B (zh) 数据处理方法、装置及设备
CN116760655B (zh) Sd-wan应用中提供cpe最优接入的pop点方法
CN109151747B (zh) 业务兑换处理方法、运营服务器和业务服务器
CN115756812A (zh) 一种资源调整方法及装置、存储介质
CN116991533A (zh) 容量调整方法、装置、设备及存储介质
CN104462116A (zh) 数据选择的方法及装置
CN111222757A (zh) 一种充电桩使用情况的统计方法及装置
Raivio et al. Hybrid Cloud Architecture for Short Message Services.
CN110543509A (zh) 用户访问数据的监控系统、方法、装置及电子设备
CN107517166A (zh) 流量控制方法、装置及接入设备

Legal Events

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