CN117492901A - 负载管理方法、装置、设备及存储介质 - Google Patents

负载管理方法、装置、设备及存储介质 Download PDF

Info

Publication number
CN117492901A
CN117492901A CN202311245654.6A CN202311245654A CN117492901A CN 117492901 A CN117492901 A CN 117492901A CN 202311245654 A CN202311245654 A CN 202311245654A CN 117492901 A CN117492901 A CN 117492901A
Authority
CN
China
Prior art keywords
load
disk
usage
value
preset
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
CN202311245654.6A
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 QIYI Century Science and Technology Co Ltd
Original Assignee
Beijing QIYI Century Science and 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 QIYI Century Science and Technology Co Ltd filed Critical Beijing QIYI Century Science and Technology Co Ltd
Priority to CN202311245654.6A priority Critical patent/CN117492901A/zh
Publication of CN117492901A publication Critical patent/CN117492901A/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/48Program initiating; Program switching, e.g. by interrupt
    • G06F9/4806Task transfer initiation or dispatching
    • G06F9/4843Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
    • G06F9/4881Scheduling strategies for dispatcher, e.g. round robin, multi-level priority queues
    • 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/45562Creating, deleting, cloning virtual machine instances
    • 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
    • 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/45595Network integration; Enabling network access in virtual machine instances
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2209/00Indexing scheme relating to G06F9/00
    • G06F2209/48Indexing scheme relating to G06F9/48
    • G06F2209/482Application
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Debugging And Monitoring (AREA)

Abstract

本申请公开了一种负载管理方法、装置、设备及存储介质,可以应用于由多个网络节点构成的集群,以实现对集群中的各个网络节点上运行的各个负载的管理任务。对任一个负载:依据所述负载的历史磁盘用量数据,预测当前时刻之后的第一目标时刻的所述负载的磁盘总用量的预测值和所述负载的第一类磁盘用量的预测值;以便在满足第一迁移重启条件或第二迁移重启条件的情况下,执行创建与该负载对应的新负载,将该负载的流量和该负载的请求迁移到新负载,删除该负载的步骤,也就是在负载磁盘用量超限之前,主动的迁移重启该负载,减少了负载磁盘用量超限的可能性,能够在一定程度上避免对负载执行驱逐操作,从而提高了由负载提供的服务的稳定性。

Description

负载管理方法、装置、设备及存储介质
技术领域
本申请涉及计算机技术领域,更具体的说,是涉及一种负载管理方法、装置、设备及存储介质。
背景技术
容器编排引擎kubernetes(简称K8s),可以用于管理云平台中多个主机上的容器化的应用(即负载)。由容器编排引擎K8s所管理的各个负载所在的各个主机构成的集群,可以称作K8s集群。
当前,K8s集群上运行着大量的业务,各业务通过容器编排引擎K8s部署各自的应用,一个应用可以包括至少一个负载,并且在部署各个负载时,为各个负载配置了对应的磁盘资源限额。若某一负载的磁盘用量超限,该负载将被立即中断并驱逐,将导致该负载所属的应用被中断,影响由该负载提供的服务的稳定性。
发明内容
鉴于上述问题,提出了本申请以便提供一种负载管理方法、装置、设备及存储介质,以实现基于负载磁盘用量的负载管理任务。
具体方案如下:
第一方面,提供了一种负载管理方法,应用于由多个网络节点构成的集群,每一个所述网络节点上运行有至少一个负载,所述负载管理方法包括:对任一个所述负载执行以下步骤:
获取所述负载的历史磁盘用量数据;所述负载的历史磁盘用量数据包括若干个数据组,该数据组用于存储:采集时刻,以及,在该采集时刻采集到的所述负载的磁盘总用量的实际值和所述负载的第一类磁盘用量的实际值,其中,所述负载的第一类磁盘用量为被所述负载挂载的临时卷占用的磁盘用量;
依据所述负载的历史磁盘用量数据,分别预测预设的第一目标时刻对应的所述负载的磁盘总用量的预测值和所述负载的第一类磁盘用量的预测值;所述第一目标时刻晚于当前时刻;
在满足预设的第一迁移重启条件或满足预设的第二迁移重启条件的情况下,创建与所述负载对应的新负载,将所述负载的流量和所述负载的请求迁移到所述新负载,删除所述负载;其中,所述预设的第一迁移重启条件为,所述负载的磁盘总用量的预测值大于或等于所述负载的磁盘总用量的预设门限,所述预设的第二迁移重启条件为所述负载的第一类磁盘用量的预测值大于或等于所述负载的第一磁盘用量的预设门限。
第二方面,提供了一种负载管理装置,应用于由多个网络节点构成的集群,每一个所述网络节点上运行有至少一个负载,所述负载管理装置包括:
负载数据获取单元,用于对任一个所述负载,获取所述负载的历史磁盘用量数据;所述负载的历史磁盘用量数据包括若干个数据组,该数据组用于存储:采集时刻,以及,在该采集时刻采集到的所述负载的磁盘总用量的实际值和所述负载的第一类磁盘用量的实际值,其中,所述负载的第一类磁盘用量为被所述负载挂载的临时卷占用的磁盘用量;
负载磁盘用量预测单元,用于依据所述负载的历史磁盘用量数据,分别预测预设的第一目标时刻对应的所述负载的磁盘总用量的预测值和所述负载的第一类磁盘用量的预测值;所述第一目标时刻晚于当前时刻;
负载管理单元,用于在满足预设的第一迁移重启条件或满足预设的第二迁移重启条件的情况下,创建与所述负载对应的新负载,将所述负载的流量和所述负载的请求迁移到所述新负载,删除所述负载;其中,所述预设的第一迁移重启条件为,所述负载的磁盘总用量的预测值大于或等于所述负载的磁盘总用量的预设门限,所述预设的第二迁移重启条件为所述负载的第一类磁盘用量的预测值大于或等于所述负载的第一磁盘用量的预设门限。
第三方面,提供了一种负载管理设备,应用于由多个网络节点构成的集群,每一个所述网络节点上运行有至少一个负载,包括:存储器和处理器;
所述存储器,用于存储程序;
所述处理器,用于执行所述程序,实现上述的负载管理方法的各个步骤。
第四方面,提供了一种存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时,实现上述的负载管理方法的各个步骤。
借由上述技术方案,本申请可以应用于由多个网络节点构成的集群,对所述集群中的各个网络节点上运行的各个负载进行管理和控制。具体的,对任一个所述负载:依据所述负载的历史磁盘用量数据,预测当前时刻之后的第一目标时刻的所述负载的磁盘总用量的预测值和所述负载的第一类磁盘用量的预测值;依据上述的预测值判断是否满足第一迁移重启条件或第二迁移重启条件,若满足任一迁移重启条件,则可以表征当前时刻之后发生负载磁盘用量超限的可能性较高,执行创建与所述负载对应的新负载,将所述负载的流量和所述负载的请求迁移到所述新负载,删除所述负载的步骤。上述的方案,能够实现在负载的磁盘总用量和第一类磁盘用量中的任一种磁盘用量超限之前,主动迁移并重启该负载,在一定程度上减少了发生负载磁盘用量超限的情况的可能性,能够在一定程度上避免对负载执行驱逐操作;此外,本方案采用的是一种“先启后关”的负载处理方案,相较于现有技术中的先关停负载、再重启负载的方案,在应用本方案时,由迁移重启负载造成的损失较小。综上,借由本申请方案可以实现基于负载磁盘用量的负载管理任务,提高由负载提供的服务的稳定性。
附图说明
通过阅读下文优选实施方式的详细描述,各种其他的优点和益处对于本领域普通技术人员将变得清楚明了。附图仅用于示出优选实施方式的目的,而并不认为是对本申请的限制。而且在整个附图中,用相同的参考符号表示相同的部件。在附图中:
图1为本申请实施例提供的一种负载管理方法的流程示意图;
图2为本申请实施例提供的一种负载管理装置的结构示意图;
图3为本申请实施例提供的一种负载管理设备的结构示意图;
图4示例了一种容器编排引擎K8S的架构示意图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
本申请提供了一种负载管理方法、装置、设备及存储介质,可以适用于实现基于负载磁盘用量的负载管理任务。
本申请方案可以基于具备数据处理能力的终端实现,该终端可以是电脑、服务器、云端等。
本申请实施例提供的负载管理方法可以应用于由多个网络节点构成的集群,每一个所述网络节点上可以运行有至少一个负载。可选的,所述集群可以是K8s集群,所述网络节点可以是K8s集群中的一个宿主机,所述负载可以是所述宿主机上运行的计算负载,也可以称作是负载实例或容器。
需要说明的是,在本申请提供的负载管理方法中,对各个负载采用的是相同的管理和控制方案。所述负载的数据都存储在数据盘上,可以依据该负载的数据存储目录,确定该负载的磁盘占用情况。一个负载pod的磁盘总占用情况可以包括四种类型的空间目录的磁盘占用情况,可以表示为poddisk{podagent,podcontainer,podlog,podself-defined}。其中,poddisk表示负载pod的磁盘总用量;podagent表示负载pod的第一类磁盘用量,为负载pod挂载的临时卷占用的磁盘用量;podcontainer表示负载pod的第二类磁盘用量,为负载pod的本地存储占用的磁盘用量;podlog表示负载pod的第三类磁盘用量,为负载pod的标准输入输出占用的磁盘用量;podself-defined表示负载pod的第四类磁盘用量,为负载pod的短周期持久化存储占用的磁盘用量。对于上述的多种类型的磁盘用量,在当前的K8s集群上,负载的磁盘总用量和负载的第一类磁盘用量中的任一种磁盘用量超出对应的预设门限,都将导致该负载被驱逐。
图1以所述集群中的一个负载为例,示出了本申请实施例提供的负载管理方法的流程示意图。结合图1所示,对任一个所述负载的管理方法可以包括如下步骤:
步骤S101、获取所述负载的历史磁盘用量数据。
其中,所述负载的历史磁盘用量数据包括若干个不同的数据组,该数据组可用于存储:采集时刻,以及,在该采集时刻采集到的所述负载的磁盘总用量的实际值和所述负载的第一类磁盘用量的实际值,其中,所述负载的第一类磁盘用量为被所述负载挂载的临时卷占用的磁盘用量。示例性的,该数据组可以表示为(poddisk_t,podagent_t,t),参数poddisk_t表示在采集时刻t处采集到的所述负载pod的磁盘总用量的实际值,参数podagent_t表示在采集时刻t处采集到的所述负载pod的第一类磁盘用量的实际值。示例性的,在K8s集群上,所述负载的磁盘总用量的实际值和所述负载的第一类磁盘用量的实际值,可以利用监控组件采用watch的方式实时监听获得。
步骤S102、依据所述负载的历史磁盘用量数据,分别预测预设的第一目标时刻对应的所述负载的磁盘总用量的预测值和所述负载的第一类磁盘用量的预测值。
其中,所述第一目标时刻晚于当前时刻,所述第一目标时刻与所述当前时刻之间的时间间隔,可以依据迁移重启负载所需花费的时间设置。此外,所述负载的历史磁盘用量数据中的数据组的个数和每两个相邻的采集时刻之间的时间间隔也可以根据迁移重启负载所需花费的时间设置。
示例性的,若对负载进行迁移重启需要花费1s-30s的时间,则所述第一目标时刻与所述当前时刻之间的时间间隔可以设置为30s,每两个相邻的采集时刻之间的时间间隔可以设置为1s,所述负载的历史磁盘用量数据中的数据组的个数可以是120,也就是说,可以依据当前时刻与当前时刻之前的2分钟内的磁盘用量,预测当前时刻之后的30s处的磁盘用量。
步骤S103、在满足预设的第一迁移重启条件或满足预设的第二迁移重启条件的情况下,创建与所述负载对应的新负载,将所述负载的流量和所述负载的请求迁移到所述新负载,删除所述负载。
其中,所述预设的第一迁移重启条件为,所述负载的磁盘总用量的预测值大于或等于所述负载的磁盘总用量的预设门限;满足第一迁移重启条件的情况,表征的是,在所述第一目标时刻,所述负载的磁盘总用量超限的可能性较高。所述预设的第二迁移重启条件为,所述负载的第一类磁盘用量的预测值大于或等于所述负载的第一磁盘用量的预设门限;满足第二迁移重启条件的情况,表征的是,在所述第一目标时刻,所述负载的第一类磁盘用量超限的可能性较高。
基于此,可以在所述负载的磁盘总用量和第一类磁盘用量中的任一种磁盘用量超限之前,即当前时刻,对所述负载进行迁移重启,具体可以包括:创建与所述负载对应的新负载,将所述负载的流量和所述负载的请求迁移到所述新负载,以及删除所述负载。所述新负载可以运行在除所述负载所在的网络节点以外的其他的网络节点上。
示例性的,在K8s集群上,对所述负载进行迁移重启的具体实现过程可以包括下述的步骤A-D:
步骤A、响应于所述负载的迁移重启请求,利用集群应用调度模块,创建与所述负载对应的新负载。
步骤B、利用服务发现模块,记录所述新负载的信息,并删除所述负载的信息,以便所述负载所属的应用通过所述服务发现模块自动感知负载信息的变更。
步骤C、由所述应用,将所述负载的流量和所述负载的请求接入所述新负载。
经由步骤C的处理,所述负载将接收不到请求,并且,所述负载的已有流量将停止。
步骤D、停止和删除所述负载,并删除属于所述负载的数据。
相应的,不满足第一迁移重启条件且不满足第二迁移重启条件的情况,即所述负载的磁盘总用量的预测值小于所述负载的磁盘总用量的预设门限,且所述负载的第一类磁盘用量的预测值小于所述负载的第一类磁盘用量的预设门限的情况,表征的是,在所述第一目标时刻,所述负载的磁盘总用量超限和所述负载的第一类磁盘用量超限的可能性均较小,在该种情况下,无需对所述负载进行处理。
可选的,对于磁盘总用量和第一类磁盘用量中的每一种磁盘用量,所述磁盘用量的预设门限可以是,第一预设倍数的所述磁盘用量的阈值设置,所述磁盘用量的阈值是预先分配给所述负载的最大可用磁盘用量。示例性的,所述第一预设倍数可以是0.95。
上述的方法可以应用于由多个网络节点构成的集群,对所述集群中的各个网络节点上运行的各个负载进行管理和控制。具体的,对任一个所述负载:依据所述负载的历史磁盘用量数据,预测当前时刻之后的第一目标时刻的所述负载的磁盘总用量的预测值和所述负载的第一类磁盘用量的预测值;依据上述的预测值判断是否满足第一迁移重启条件或第二迁移重启条件,若满足任一迁移重启条件,则可以表征当前时刻之后发生负载磁盘用量超限的可能性较高,执行创建与所述负载对应的新负载,将所述负载的流量和所述负载的请求迁移到所述新负载,删除所述负载的步骤。上述的方案,能够实现在负载的磁盘总用量和第一类磁盘用量中的任一种磁盘用量超限之前,主动迁移并重启该负载,在一定程度上减少了发生负载磁盘用量超限的情况的可能性,能够在一定程度上避免对负载执行驱逐操作;此外,本方案采用的是一种“先启后关”的负载处理方案,相较于现有技术中的先关停负载、再重启负载的方案,在应用本方案时,由迁移重启负载造成的损失较小。综上,借由本申请方案可以实现基于负载磁盘用量的负载管理任务,提高由负载提供的服务的稳定性。
接下来对步骤S102的可能实现方式进行说明。此外,步骤S102及其可能的实现方式,可以适用于处理任一种类型的可能导致负载被驱逐的磁盘用量数据,实现该种类型的磁盘用量的预测任务,以便依据该种类型的磁盘用量的预测值管理负载,例如,在一负载的该种类型的磁盘用量的预测值超过对应的门限的情况下,对该负载进行迁移重启。
在本申请提供的一些实施例中,所述负载的历史磁盘用量数据中的每两个相邻的采集时刻之间的时间间隔可以是第一预设采集步长。可选的,所述负载的历史磁盘用量数据中的最晚的所述采集时刻可以是当前时刻,也就是说,所述负载的历史磁盘用量数据表征的是,所述负载在与所述当前时刻邻近的一段历史时间内的磁盘占用情况。
在上述的基础上,上述的步骤S102、依据所述负载的历史磁盘用量数据,分别预测预设的第一目标时刻对应的所述负载的磁盘总用量的预测值和所述负载的第一类磁盘用量的预测值,可以包括:
对于所述负载的磁盘总用量和所述负载的第一类磁盘用量中的每一种所述负载的磁盘用量,执行下述的步骤E-G:
步骤E、按照采集时刻的先后顺序,依次对各个采集时刻对应的所述负载的磁盘用量的实际值进行平滑处理。
具体的,所述平滑处理可以包括:对于所述负载的历史磁盘用量数据中的最早的采集时刻,将该采集时刻对应的所述负载的磁盘用量的实际值作为该采集时刻对应的所述负载的磁盘用量的目标值;对于非最早的采集时刻,计算该采集时刻对应的所述负载的磁盘用量的实际值,和,该采集时刻的前一个采集时刻对应的所述负载的磁盘用量的目标值的加权平均数,得到该采集时刻对应的所述负载的磁盘用量的目标值,其中,该采集时刻对应的所述负载的磁盘用量的实际值的权重为第一预设权重。
示例性的,在预测所述负载的磁盘用量的预测值时,所利用的所述负载的历史磁盘用量数据中的数据可以表示为:{(podt_1,t_1),(podt_2,t_2),…,(podt_n,t_n)},其中,(podt_i,t_i)为一个二元组,参数podt_i表示采集时刻t_i(i=1,2,…,n)对应的负载的磁盘用量的实际值。在上述的基础上,所述平滑处理可以表示为:St_i=podt_i,其中i=1;St_i=α1*podt_i+(1-α1)*St_i-1,其中i=2,…,n。参数St_i表示采集时刻t_i(i=1,2,…,n)对应的所述负载的磁盘用量的目标值,参数α1表示所述第一预设权重,并且,0.5≤α1≤1。可选的,所述第一预设权重可以依据所述第一预设采集步长设置。示例性的,若所述第一预设采集步长为1s,则所述第一预设权重可以设置为0.8。
步骤F、生成所述负载的平滑处理后的磁盘用量数据。
所述负载的处理后的磁盘用量数据包括各个采集时刻及各个采集时刻各自对应的所述负载的磁盘用量的目标值,示例性的,所述负载的平滑处理后的磁盘用量数据可以表示为{(St_1,t_1),(St_2,t_2),…,(St_n,t_n)}。
步骤G、依据所述负载的平滑处理后的磁盘用量数据,预测所述第一目标时刻对应的所述负载的磁盘用量的预测值。
上述的方法,对实际采集到的负载的磁盘用量的实际值进行了平滑处理,可以使负载的磁盘用量数据随时间的变化情况变得平滑稳定,从而减少由非正常的磁盘用量突变造成的干扰,在一定程度上提高磁盘用量预测的准确性,从而提高管理负载的准确性。
在本申请提供的一些实施例中,上述的步骤G、依据所述负载的平滑处理后的磁盘用量数据,预测所述第一目标时刻对应的所述负载的磁盘用量的预测值,可以包括下述的步骤H-K:
步骤H、对于每一个采集时刻组,该采集时刻组是由所述负载的平滑处理后的磁盘用量数据中的每两个相邻的采集时刻构成的组合,依据该采集时刻组中的两个采集时刻各自对应的所述负载的磁盘用量的目标值,计算得到该采集时刻组中的前一个采集时刻对应的所述负载的磁盘用量的变化速度值。
示例性的,由采集时刻t_i(i=1,…,n-1)和采集时刻t_i+1可以构成一个采集时刻组,上述的步骤H的计算过程可以表示为:difft_i=(St_i+1-St_i)/△t1,其中,difft_i表示采集时刻t_i(i=1,…,n-1)对应的所述负载的磁盘用量的变化速度值,△t1表示所述第一预设采集步长。
步骤I、生成所述负载的磁盘用量的速度组。
其中,所述负载的磁盘用量的速度组包括:各个采集时刻及各个采集时刻各自对应的所述负载的磁盘用量的变化速度值。示例性的,所述负载的磁盘用量的速度组可以表示为:{(difft_1,t_1),(difft_2,t_2),…,(difft_n-1,t_n-1)}。
步骤J、依据所述负载的磁盘用量的速度组,构建所述负载的磁盘用量函数。
其中,所述负载的磁盘用量函数用于表征所述负载的磁盘用量随时间变化的趋势。示例性的,可以依据所述负载的磁盘用量的速度组拟合得到所述负载的磁盘用量的变化速度关于时间的速度函数,依据速度函数构建出所述负载的磁盘用量函数。
步骤K、调用所述负载的磁盘用量函数,计算所述第一目标时刻对应的函数值,得到所述负载的磁盘用量的预测值。
在本申请提供的一些实施例中,上述的步骤J、依据所述负载的磁盘用量的速度组,构建所述负载的磁盘用量函数,可以包括下述的步骤L-P:
步骤L、计算所述负载的磁盘用量的变化速度组中的所有变化速度值的平均值,得到所述负载的磁盘用量的目标速度值。
示例性的,上述的步骤L的计算过程可以表示为:diffμ=(∑i=1,,…,n-1difft_i)/(n-1),diffμ表示所述负载的磁盘用量的目标速度值。
步骤M、对于每一个采集时刻组,该采集时刻组是由所述负载的磁盘用量的变化速度组中的每两个相邻的采集时刻构成的组合,依据该采集时刻组中的两个采集时刻各自对应的所述负载的磁盘用量的变化速度值,计算得到该采集时刻组中的前一个采集时刻对应的所述负载的磁盘用量的变化加速度值。
示例性的,由采集时刻t_i(i=1,…,n-2)和采集时刻t_i+1可以构成一个采集时刻组,上述的步骤M的计算过程可以表示为:acct_i=(difft_i+1-difft_i)/△t1,其中,acct_i表示采集时刻t_i(i=1,…,n-2)对应的所述负载的磁盘用量的变化加速度值。
步骤N、生成所述负载的磁盘用量的加速度组。
所述负载的磁盘用量的加速度组包括:各个采集时刻及各个采集时刻各自对应的所述负载的磁盘用量的变化加速度值。示例性的,所述负载的磁盘用量的加速度组可以表示为:{(acct_1,t_1),(acct_2,t_2),…,(acct_n-2,t_n-2)}。
步骤O、提取所述负载的磁盘用量的加速度组中的所有变化加速度值的中位数,得到所述负载的磁盘用量的目标加速度值。
示例性的,上述的步骤O的处理过程可以表示为:accMe=Me{acct_1,acct_2,…,acct_n-2},其中,Me表示对数组{acct_1,acct_2,…,acct_n-2}取中位数,accMe表示所述负载的磁盘用量的目标加速度值。
步骤P、依据所述负载的磁盘用量的目标速度值和所述负载的磁盘用量的目标加速度值,配置所述负载的磁盘用量函数。
其中,所述负载的磁盘用量函数可以表示为dataused(t)=diffμ*t+accMe*t2/2,其中,dataused(t)表示t时刻的所述负载的磁盘用量的函数值,diffμ表示所述负载的磁盘用量的目标速度值,accMe表示所述负载的磁盘用量的目标加速度值。
在上述的基础上,上述的步骤K、调用所述负载的磁盘用量函数,计算所述第一目标时刻对应的函数值,得到所述负载的磁盘用量的预测值,可以包括:
将第一目标时刻t_sm1代入所述负载的磁盘用量函数dataused(t)=diffμ*t+accMe*t2/2,计算得到所述负载的磁盘用量的预测值dataused_t_sm1=dataused(t_sm1)。
在本申请提供的一些实施例中,所述预设的第一迁移重启条件为:所述负载的磁盘总用量的平均加速度值大于等于0,且,所述负载的磁盘总用量的预测值大于或等于所述负载的磁盘总用量的预设门限。
其中,所述负载的磁盘总用量的平均加速度值为,所述负载的磁盘总用量的加速度组中的所有变化加速度值的平均值。所述第一迁移重启条件可以表示为:poddisk_accμ≥0,且poddisk_dataused_t_sm1≥poddisk_limit,其中,poddisk_accμ表示所述负载的磁盘总用量的平均加速度值;poddisk_dataused_t_sm1表示第一目标时刻t_sm1对应的所述负载的磁盘总用量的预测值,可以是基于所述负载的磁盘总用量的各个实际值,由上述的步骤计算得到的预测值;poddisk_limit表示所述负载的磁盘总用量的预设门限。可选的,所述负载的磁盘总用量的预设门限可以是第一预设倍数的所述负载的磁盘总用量阈值,所述第一预设倍数小于1。示例性的,所述第一预设倍数可以是0.95。
相应的,所述预设的第二迁移重启条件为:所述负载的第一类磁盘用量的平均加速度值大于等于0,且,所述负载的第一类磁盘用量的预测值大于或等于所述负载的第一磁盘用量的预设门限。
其中,所述负载的第一类磁盘用量的平均加速度值为,所述负载的第一类磁盘用量的加速度组中的所有变化加速度值的平均值。所述第二预设条件可以表示为:podagent_accμ≥0,且podagent_dataused_t_sm1≥podagent_limit。其中,podagent_accμ表示所述负载的第一类磁盘用量的平均加速度值;podagent_dataused_t_sm1表示第一目标时刻t_sm1对应的所述负载的第一类磁盘用量的预测值,可以是基于所述负载的第一类磁盘用量的各个实际值,由上述的步骤计算得到的预测值;podagent_limit表示所述负载的第一类磁盘用量的预设门限。可选的,所述负载的第一类磁盘用量的预设门限可以是第一预设倍数的所述负载的第一类磁盘用量阈值,所述第一预设倍数小于1。示例性的,所述第一预设倍数可以是0.95。
示例性的,对于所述负载的磁盘总用量和所述负载的第一类磁盘用量中的每一种所述负载的磁盘用量,所述负载的磁盘用量的平均加速度值可以表示为:accμ=(∑i=1,,…,n-2acct_i)/(n-2)。
需要说明的是,对于所述负载的磁盘总用量和所述负载的第一类磁盘用量中的每一种所述负载的磁盘用量,所述负载的磁盘用量的平均加速度值大于或等于0,表征的是:在一段时间内,所述负载的磁盘用量的变化速度整体呈增长趋势,当前时刻之后,负载的磁盘用量增加的可能性更高,在该种情况下,若所述负载的磁盘用量的预测值大于或等于所述负载的磁盘用量的预设门限,则所述负载在所述第一目标时刻处发成磁盘用量超限的可能性较大。基于此,借由平均加速度可以在一定程度上增加管理决策的准确性。
本申请还提供了对任一个所述网络节点上运行的各负载的管理方案。在本申请提供的一些实施例中,所述负载管理方法还可以包括:对任一个所述网络节点执行以下步骤:
步骤S201、获取所述网络节点的历史磁盘用量数据。
其中,所述网络节点的历史磁盘用量数据可以包括若干个不同的数据组,该数据组包括采集时刻和在该采集时刻采集到的所述网络节点的磁盘总用量的实际值。示例性的,所述网络节点path的磁盘总用量可以表示为:pathdata{pathagent,pathcontainer,pathlog,pathself-defined,pathothers}。其中,pathagent表示网络节点path上运行的各负载的第一类磁盘用量的和;pathcontainer表示网络节点path上运行的各负载的第二类磁盘用量的和;pathlog表示网络节点path上运行的各负载的第三类磁盘用量的和;pathself-defined表示网络节点path上运行的各负载的第四类磁盘用量的和;pathothers表示网络节点上运行的除各负载之外的其他服务占用的磁盘用量。
步骤S202、依据所述网络节点的历史磁盘用量数据,预测预设的第二目标时刻对应的所述网络节点的磁盘总用量的预测值。
其中,所述第二目标时刻晚于所述第一目标时刻。此外,步骤S202的实现过程,可以参照上述的步骤S102。
步骤S203、在所述网络节点的磁盘总用量的预测值大于或等于预设的所述网络节点的磁盘总用量的预设门限的情况下,从所述网络节点上运行的各个负载中,确定出优先级最低的预设数量个负载。
其中,所述优先级最低的预设数量个负载满足:当前时刻的各个负载的磁盘总用量的实际值的和,大于或等于预设倍数的所述网络节点的磁盘总用量阈值,所述预设倍数小于1。可选的,所述网络节点的磁盘总用量的预设门限可以是第二预设倍数的所述网络节点的磁盘总用量阈值,所述第二预设倍数小于1。
步骤S204、对于所述优先级最低的预设数量个负载中的每一负载,创建与所述负载对应的新负载,将所述负载的流量和所述负载的请求迁移到所述新负载,删除所述负载。
上述的步骤S203-S204,减少了所述网络节点的磁盘总用量值,示例性的,在完成全部的所述目标负载的迁移重启操作之后,所述网络节点的磁盘总用量值将小于(1-a)倍的所述网络节点的磁盘总用量阈值,a表示所述预设倍数。可选的,所述预设倍数可以是0.35。
上述的方法能够实现,在所述网络节点的磁盘总用量超限之前,迁移并重启其上运行的负载,能够在一定程度上避免发生由网络节点的磁盘总用量超限导致的其上运行的各负载全部被关停和驱逐的情况,从而提高由网络节点上运行的各个负载提供的各个服务的稳定性。此外,负载的优先级表征的是负载的重要程度,优先级越低的负载,其重要程度越低,由迁移重启该负载造成的损失越小。上述的方法通过优先迁移重启优先级最低的负载,能够在一定程度上减少由迁移重启负载造成的损失。
在本申请提供的一些实施例中,所述网络节点的历史磁盘用量数据中的每两个相邻的采集时刻之间的时间间隔为第二预设采集步长。
其中,所述第二预设采集步长大于等于第一预设采集步长,所述第一预设采集步长为:所述网络节点上运行的任一个所述负载的历史磁盘用量数据中的每两个相邻的采集时刻之间的时间间隔。此外,所述网络节点的历史磁盘用量数据的数据量,大于等于,所述网络节点上运行的任一个所述负载的历史磁盘用量数据的数据量。
可选的,所述网络节点的历史磁盘用量数据中的最晚的所述采集时刻可以是当前时刻。也就是说,所述网络节点的历史磁盘用量数据表征的是,与所述当前时刻邻近的一段时间内的所述网络节点的磁盘总用量。
需要说明的是,由于网络节点维度的负载管理过程可能涉及多个负载的迁移重启操作,所花费的时间可能大于单个负载的迁移重启操作花费的时间,基于此,所述第二目标时刻晚于所述第一目标时刻。示例性的,所述第二目标时刻与所述当前时刻之间的时间间隔可以是5分钟。在上述的基础上,为保证预测的准确性,在进行网络节点维度的预测时,需要利用更多历史数据,可以表现在,所述第二预设采集步长大于或等于所述第一预设采集步长,网络节点的历史磁盘用量数据的数据量大于或等于负载的历史磁盘用量数据的数据量。示例性的,所述第二预设采集步长可以是5s,所述网络节点的历史磁盘用量数据的数据量可以是120。也就是说,可以依据当前时刻与当前时刻之前的10分钟内的网络节点的磁盘占用情况,预测当前时刻之后的5min处的网络节点的磁盘总用量值。
在上述的基础上,上述的步骤S202、依据所述网络节点的历史磁盘用量数据,预测预设的第二目标时刻对应的所述网络节点的磁盘总用量的预测值,可以包括下述的步骤:
步骤T、按照采集时刻的先后顺序,依次对各个采集时刻对应的所述网络节点的磁盘总用量的实际值进行平滑处理。
所述平滑处理可以包括:对于所述网络节点的历史磁盘用量数据中的最早的采集时刻,将该采集时刻对应的所述网络节点的磁盘总用量的实际值作为该采集时刻对应的所述网络节点的磁盘用量的目标值;对于非最早的采集时刻,计算该采集时刻对应的所述网络节点的磁盘总用量的实际值,和,该采集时刻的前一个采集时刻对应的所述网络节点的磁盘总用量的目标值的加权平均数,得到该采集时刻对应的所述网络节点的磁盘总用量的目标值;其中,该采集时刻对应的所述网络节点的磁盘总用量的实际值的权重为第二预设权重。
示例性的,所述网络节点的历史磁盘用量数据可以表示为{(pathdata_t_1,t_1),(pathdata_t_2,t_2),…,(pathdata_t_n,t_m)},其中,(pathdata_t_i,t_i)为一个数据组,参数pathdata_t_i表示采集时刻t_i(i=1,2,…,m)对应的网络节点的磁盘总用量的实际值。在上述的基础上,所述平滑处理可以表示为:S’t_i=pathdata_t_i,其中i=1;S’t_i=α2*pathdata_t_i+(1-α2)*S’t_i-1,其中i=2,…,m。参数S’t_i表示采集时刻t_i(i=1,2,…,m)对应的所述网络节点的磁盘总用量的目标值,参数α2表示所述第二预设权重,并且,0.5≤α2≤1。可选的,所述第二预设权重可以依据所述第二预设采集步长设置,由于所述第二预设采集步长大于等于所述第一预设采集步长,并且,期望网络节点维度的磁盘总用量更平滑、更稳定,因此,所述第二预设权重可以小于等于所述第一预设权重。示例性的,若所述第二预设采集步长为5s,则所述第二预设权重可以设置为0.5。
步骤U、生成所述网络节点的平滑处理后的磁盘用量数据。
所述网络节点的平滑处理后的磁盘用量数据包括:各个采集时刻及各个采集时刻各自对应的所述网络节点的磁盘总用量的目标值。
步骤V、依据所述网络节点的平滑处理后的磁盘用量数据,预测所述第二目标时刻对应的所述网络节点的磁盘总用量的预测值。
对步骤V的说明可以参照上述的步骤G。示例性的,确定出的用于表征所述网络节点的磁盘总用量的变化趋势的所述网络的磁盘总用量函数可以表示为:pathdisk_dataused(t)=pathdisk_diffμ*t+pathdisk_accMe*t2/2,其中,pathdisk_dataused(t)表示t时刻的所述网络节点的磁盘总用量的函数值,pathdisk_diffμ表示所述网络节点的磁盘总用量的目标速度值,pathdisk_accMe表示所述网络节点的磁盘总用量的目标加速度值。基于此,所述第二目标时刻对应的所述网络节点的磁盘总用量的预测值,可以表示为pathdisk_dataused_t_sm2=pathdisk_diffμ*t_sm2+pathdisk_accMe*t_sm22/2,其中,t_sm2表示所述第二目标时刻。
在上述的基础上,上述的步骤S203、在所述网络节点的磁盘总用量的预测值大于或等于预设的所述网络节点的磁盘总用量的预设门限的情况下,从所述网络节点上运行的各个负载中,确定出优先级最低的预设数量个负载,可以包括:
在所述网络节点的磁盘总用量的平均加速度值大于或等于0,且所述网络节点的磁盘总用量的预测值大于或等于所述网络节点的磁盘总用量的预设门限的情况下,从所述网络节点上运行的各个负载中,确定出优先级最低的预设数量个负载。
其中,所述网络节点的磁盘总用量的平均加速度值的确定方式可以参照上文。
在一种可能的实现方式中,可以采用下述步骤实现上述的步骤S203-S204,具体的:
步骤W、从所述网络节点上运行的各个负载中,确定优先级最低的负载,创建与所述优先级最低的负载对应的新负载,将所述优先级最低的负载的流量和所述优先级最低的负载的请求迁移到所述新负载,删除所述优先级最低的负载。
步骤X、在所述网络节点上运行各个负载的当前时刻的磁盘总用量的实际值的和,大于或等于(1-a)倍的所述网络节点的磁盘总用量阈值的情况下,返回执行步骤W;其中,参数a表示所述预设倍数。
下面对本申请实施例提供的负载管理装置进行描述,下文描述的负载管理装置与上文描述的负载管理方法可相互对应参照。
参见图2,图2为本申请实施例公开的一种负载管理装置结构示意图。所述负载管理装置可以应用于由多个网络节点构成的集群,每一个所述网络节点上运行有至少一个负载。如图2所示,所述负载管理装置可以包括:
负载数据获取单元21,用于对任一个所述负载,获取所述负载的历史磁盘用量数据;所述负载的历史磁盘用量数据包括若干个数据组,该数据组用于存储:采集时刻,以及,在该采集时刻采集到的所述负载的磁盘总用量的实际值和所述负载的第一类磁盘用量的实际值,其中,所述负载的第一类磁盘用量为被所述负载挂载的临时卷占用的磁盘用量;
负载磁盘用量预测单元22,用于依据所述负载的历史磁盘用量数据,分别预测预设的第一目标时刻对应的所述负载的磁盘总用量的预测值和所述负载的第一类磁盘用量的预测值;所述第一目标时刻晚于当前时刻;
负载管理单元23,用于在满足预设的第一迁移重启条件或满足预设的第二迁移重启条件的情况下,创建与所述负载对应的新负载,将所述负载的流量和所述负载的请求迁移到所述新负载,删除所述负载;其中,所述预设的第一迁移重启条件为,所述负载的磁盘总用量的预测值大于或等于所述负载的磁盘总用量的预设门限,所述预设的第二迁移重启条件为所述负载的第一类磁盘用量的预测值大于或等于所述负载的第一磁盘用量的预设门限。
在本申请提供的一些实施例中,所述负载的历史磁盘用量数据中的每两个相邻的采集时刻之间的时间间隔为第一预设采集步长。
在上述的基础上,所述负载磁盘用量预测单元22依据所述负载的历史磁盘用量数据,分别预测预设的第一目标时刻对应的所述负载的磁盘总用量的预测值和所述负载的第一类磁盘用量的预测值的过程,可以包括:
按照采集时刻的先后顺序,依次对各个采集时刻对应的所述负载的磁盘用量的实际值进行平滑处理;所述平滑处理包括:对于所述负载的历史磁盘用量数据中的最早的采集时刻,将该采集时刻对应的所述负载的磁盘用量的实际值作为该采集时刻对应的所述负载的磁盘用量的目标值;对于非最早的采集时刻,计算该采集时刻对应的所述负载的磁盘用量的实际值,和,该采集时刻的前一个采集时刻对应的所述负载的磁盘用量的目标值的加权平均数,得到该采集时刻对应的所述负载的磁盘用量的目标值,其中,该采集时刻对应的所述负载的磁盘用量的实际值的权重为第一预设权重;
由各个采集时刻对应的所述负载的磁盘用量的目标值,构成所述负载的处理后的磁盘用量数据;
依据所述负载的处理后的磁盘用量数据,确定所述负载的磁盘用量的变化趋势。
在本申请提供的一些实施例中,所述负载磁盘用量预测单元22依据所述负载的平滑处理后的磁盘用量数据,预测所述第一目标时刻对应的所述负载的磁盘用量的预测值的过程,可以包括:
对于每一个采集时刻组,该采集时刻组是由所述负载的平滑处理后的磁盘用量数据中的每两个相邻的采集时刻构成的组合,依据该采集时刻组中的两个采集时刻各自对应的所述负载的磁盘用量的目标值,计算得到该采集时刻组中的前一个采集时刻对应的所述负载的磁盘用量的变化速度值;
生成所述负载的磁盘用量的速度组,所述负载的磁盘用量的速度组包括:各个采集时刻及各个采集时刻各自对应的所述负载的磁盘用量的变化速度值;
依据所述负载的磁盘用量的速度组,构建所述负载的磁盘用量函数,所述负载的磁盘用量函数用于表征所述负载的磁盘用量随时间变化的趋势;
调用所述负载的磁盘用量函数,计算所述第一目标时刻对应的函数值,得到所述负载的磁盘用量的预测值。
在本申请提供的一些实施例中,所述负载磁盘用量预测单元22依据所述负载的磁盘用量的变化速度组,构建所述负载的磁盘用量函数的过程,可以包括:
计算所述负载的磁盘用量的变化速度组中的所有变化速度值的平均值,得到所述负载的磁盘用量的目标速度值;
对于每一个采集时刻组,该采集时刻组是由所述负载的磁盘用量的变化速度组中的每两个相邻的采集时刻构成的组合,依据该采集时刻组中的两个采集时刻各自对应的所述负载的磁盘用量的变化速度值,计算得到该采集时刻组中的前一个采集时刻对应的所述负载的磁盘用量的变化加速度值;
生成所述负载的磁盘用量的加速度组,所述负载的磁盘用量的加速度组包括:各个采集时刻及各个采集时刻各自对应的所述负载的磁盘用量的变化加速度值;
提取所述负载的磁盘用量的加速度组中的所有变化加速度值的中位数,得到所述负载的磁盘用量的目标加速度值;
依据所述负载的磁盘用量的目标速度值和所述负载的磁盘用量的目标加速度值,配置所述负载的磁盘用量函数,所述负载的磁盘用量函数为dataused(t)=diffμ*t+accMe*t2/2,其中,dataused(t)表示t时刻的所述负载的磁盘用量的函数值,diffμ表示所述负载的磁盘用量的目标速度值,accMe表示所述负载的磁盘用量的目标加速度值。
在本申请提供的一些实施例中,所述预设的第一迁移重启条件为:所述负载的磁盘总用量的平均加速度值大于或等于0,且,所述负载的磁盘总用量的预测值大于或等于所述负载的磁盘总用量的预设门限;所述负载的磁盘总用量的平均加速度值为,所述负载的磁盘总用量的加速度组中的所有变化加速度值的平均值;
所述预设的第二迁移重启条件为:所述负载的第一类磁盘用量的平均加速度值大于或等于0,且,所述负载的第一类磁盘用量的预测值大于或等于所述负载的第一磁盘用量的预设门限;所述负载的第一类磁盘用量的平均加速度值为,所述负载的第一类磁盘用量的加速度组中的所有变化加速度值的平均值。
在本申请提供的一些实施例中,所述负载管理装置还可以包括:
节点数据获取单元24,用于对于任一个所述网络节点,获取所述网络节点的历史磁盘用量数据;所述网络节点的历史磁盘用量数据包括若干个数据组,该数据组包括采集时刻和在该采集时刻采集到的所述网络节点的磁盘总用量的实际值;
节点磁盘用量预测单元25,用于依据所述网络节点的历史磁盘用量数据,预测预设的第二目标时刻对应的所述网络节点的磁盘总用量的预测值,其中,所述第二目标时刻晚于所述第一目标时刻;
负载管理单元23,还可以用于在所述网络节点的磁盘总用量的预测值大于或等于预设的所述网络节点的磁盘总用量的预设门限的情况下,从所述网络节点上运行的各个负载中,确定出优先级最低的预设数量个负载;其中,所述优先级最低的预设数量个负载满足:当前时刻的各个负载的磁盘总用量的实际值的和,大于或等于预设倍数的所述网络节点的磁盘总用量阈值,所述预设倍数小于1;对于所述优先级最低的预设数量个负载中的每一负载,创建与所述负载对应的新负载,将所述负载的流量和所述负载的请求迁移到所述新负载,删除所述负载。
在本申请提供的一些实施例中,所述网络节点的历史磁盘用量数据中的每两个相邻的采集时刻之间的时间间隔为第二预设采集步长。
在上述的基础上,所述节点磁盘用量预测单元25依据所述网络节点的历史磁盘用量数据,预测预设的第二目标时刻对应的所述网络节点的磁盘总用量的预测值的过程,可以包括:
按照采集时刻的先后顺序,依次对各个采集时刻对应的所述网络节点的磁盘总用量的实际值进行平滑处理;所述平滑处理包括:对于所述网络节点的历史磁盘用量数据中的最早的采集时刻,将该采集时刻对应的所述网络节点的磁盘总用量的实际值作为该采集时刻对应的所述网络节点的磁盘用量的目标值;对于非最早的采集时刻,计算该采集时刻对应的所述网络节点的磁盘总用量的实际值,和,该采集时刻的前一个采集时刻对应的所述网络节点的磁盘总用量的目标值的加权平均数,得到该采集时刻对应的所述网络节点的磁盘总用量的目标值;其中,该采集时刻对应的所述网络节点的磁盘总用量的实际值的权重为第二预设权重;
生成所述网络节点的平滑处理后的磁盘用量数据,所述网络节点的平滑处理后的磁盘用量数据包括:各个采集时刻及各个采集时刻各自对应的所述网络节点的磁盘总用量的目标值;
依据所述网络节点的平滑处理后的磁盘用量数据,预测所述第二目标时刻对应的所述网络节点的磁盘总用量的预测值。
本申请实施例提供的负载管理装置可应用于负载管理设备,如终端:手机、电脑等,所述负载管理设备可以应用于由多个网络节点构成的集群,每一个所述网络节点上运行有至少一个负载。可选的,图3示出了负载管理设备的硬件结构框图,参照图3,负载管理设备的硬件结构可以包括:至少一个处理器1,至少一个通信接口2,至少一个存储器3和至少一个通信总线4;
在本申请实施例中,处理器1、通信接口2、存储器3、通信总线4的数量为至少一个,且处理器1、通信接口2、存储器3通过通信总线4完成相互间的通信;
处理器1可能是一个中央处理器CPU,或者是特定集成电路ASIC(ApplicationSpecific Integrated Circuit),或者是被配置成实施本发明实施例的一个或多个集成电路等;
存储器3可能包含高速RAM存储器,也可能还包括非易失性存储器(non-volatilememory)等,例如至少一个磁盘存储器;
其中,存储器存储有程序,处理器可调用存储器存储的程序,所述程序用于:
对任一个所述负载:获取所述负载的历史磁盘用量数据;所述负载的历史磁盘用量数据包括若干个数据组,该数据组用于存储:采集时刻,以及,在该采集时刻采集到的所述负载的磁盘总用量的实际值和所述负载的第一类磁盘用量的实际值,其中,所述负载的第一类磁盘用量为被所述负载挂载的临时卷占用的磁盘用量;
依据所述负载的历史磁盘用量数据,分别预测预设的第一目标时刻对应的所述负载的磁盘总用量的预测值和所述负载的第一类磁盘用量的预测值;所述第一目标时刻晚于当前时刻;
在满足预设的第一迁移重启条件或满足预设的第二迁移重启条件的情况下,创建与所述负载对应的新负载,将所述负载的流量和所述负载的请求迁移到所述新负载,删除所述负载;其中,所述预设的第一迁移重启条件为,所述负载的磁盘总用量的预测值大于或等于所述负载的磁盘总用量的预设门限,所述预设的第二迁移重启条件为,所述负载的第一类磁盘用量的预测值大于或等于所述负载的第一磁盘用量的预设门限。
可选的,所述程序的细化功能和扩展功能可参照上文描述。
本申请实施例还提供一种存储介质,该存储介质可存储有适于处理器执行的程序,所述程序用于:
对任一个负载:获取所述负载的历史磁盘用量数据;所述负载的历史磁盘用量数据包括若干个数据组,该数据组用于存储:采集时刻,以及,在该采集时刻采集到的所述负载的磁盘总用量的实际值和所述负载的第一类磁盘用量的实际值,其中,所述负载的第一类磁盘用量为被所述负载挂载的临时卷占用的磁盘用量;
依据所述负载的历史磁盘用量数据,分别预测预设的第一目标时刻对应的所述负载的磁盘总用量的预测值和所述负载的第一类磁盘用量的预测值;所述第一目标时刻晚于当前时刻;
在满足预设的第一迁移重启条件或满足预设的第二迁移重启条件的情况下,创建与所述负载对应的新负载,将所述负载的流量和所述负载的请求迁移到所述新负载,删除所述负载;其中,所述预设的第一迁移重启条件为,所述负载的磁盘总用量的预测值大于或等于所述负载的磁盘总用量的预设门限,所述预设的第二迁移重启条件为,所述负载的第一类磁盘用量的预测值大于或等于所述负载的第一磁盘用量的预设门限。
可选的,所述程序的细化功能和扩展功能可参照上文描述。
示例性的,图4示出了一种容器编排引擎K8s的架构示意图,结合图4所示,可以包括:策略控制中心、资源监控模块、预处理模块、资源池和服务发现模块,其中,所述资源池包括若干个宿主机(即网络节点),每一个宿主机上运行有若干个负载。具体的,所述策略控制中心从所述资源监控模块获取负载和宿主机(即网络节点)的磁盘用量的实际值,采用本申请实施例提供的负载管理方法进行负载和宿主机的磁盘用量预测,并依据预测结果向预处理模块输出对负载的迁移重启请求;所述预处理模块响应于迁移重启请求,联合所述服务发现模块共同实现对负载的迁移重启处理。
最后,还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间可以根据需要进行组合,且相同相似部分互相参见即可。
对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本申请。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本申请的精神或范围的情况下,在其它实施例中实现。因此,本申请将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。

Claims (10)

1.一种负载管理方法,其特征在于,应用于由多个网络节点构成的集群,每一个所述网络节点上运行有至少一个负载,所述负载管理方法包括:对任一个所述负载执行以下步骤:
获取所述负载的历史磁盘用量数据;所述负载的历史磁盘用量数据包括若干个数据组,该数据组用于存储:采集时刻,以及,在该采集时刻采集到的所述负载的磁盘总用量的实际值和所述负载的第一类磁盘用量的实际值,其中,所述负载的第一类磁盘用量为被所述负载挂载的临时卷占用的磁盘用量;
依据所述负载的历史磁盘用量数据,分别预测预设的第一目标时刻对应的所述负载的磁盘总用量的预测值和所述负载的第一类磁盘用量的预测值;所述第一目标时刻晚于当前时刻;
在满足预设的第一迁移重启条件或满足预设的第二迁移重启条件的情况下,创建与所述负载对应的新负载,将所述负载的流量和所述负载的请求迁移到所述新负载,删除所述负载;其中,所述预设的第一迁移重启条件为,所述负载的磁盘总用量的预测值大于或等于所述负载的磁盘总用量的预设门限,所述预设的第二迁移重启条件为,所述负载的第一类磁盘用量的预测值大于或等于所述负载的第一磁盘用量的预设门限。
2.根据权利要求1所述的负载管理方法,其特征在于,所述负载的历史磁盘用量数据中的每两个相邻的采集时刻之间的时间间隔为第一预设采集步长;
所述依据所述负载的历史磁盘用量数据,分别预测预设的第一目标时刻对应的所述负载的磁盘总用量的预测值和所述负载的第一类磁盘用量的预测值,包括:
对于所述负载的磁盘总用量和所述负载的第一类磁盘用量中的每一种所述负载的磁盘用量,执行下述步骤:
按照采集时刻的先后顺序,依次对各个采集时刻对应的所述负载的磁盘用量的实际值进行平滑处理;所述平滑处理包括:对于所述负载的历史磁盘用量数据中的最早的采集时刻,将该采集时刻对应的所述负载的磁盘用量的实际值作为该采集时刻对应的所述负载的磁盘用量的目标值;对于非最早的采集时刻,计算该采集时刻对应的所述负载的磁盘用量的实际值,和,该采集时刻的前一个采集时刻对应的所述负载的磁盘用量的目标值的加权平均数,得到该采集时刻对应的所述负载的磁盘用量的目标值,其中,该采集时刻对应的所述负载的磁盘用量的实际值的权重为第一预设权重;
生成所述负载的平滑处理后的磁盘用量数据,所述负载的处理后的磁盘用量数据包括各个采集时刻及各个采集时刻各自对应的所述负载的磁盘用量的目标值;
依据所述负载的平滑处理后的磁盘用量数据,预测所述第一目标时刻对应的所述负载的磁盘用量的预测值。
3.根据权利要求2所述的负载管理方法,其特征在于,依据所述负载的平滑处理后的磁盘用量数据,预测所述第一目标时刻对应的所述负载的磁盘用量的预测值,包括:
对于每一个采集时刻组,该采集时刻组是由所述负载的平滑处理后的磁盘用量数据中的每两个相邻的采集时刻构成的组合,依据该采集时刻组中的两个采集时刻各自对应的所述负载的磁盘用量的目标值,计算得到该采集时刻组中的前一个采集时刻对应的所述负载的磁盘用量的变化速度值;
生成所述负载的磁盘用量的速度组,所述负载的磁盘用量的速度组包括:各个采集时刻及各个采集时刻各自对应的所述负载的磁盘用量的变化速度值;
依据所述负载的磁盘用量的速度组,构建所述负载的磁盘用量函数,所述负载的磁盘用量函数用于表征所述负载的磁盘用量随时间变化的趋势;
调用所述负载的磁盘用量函数,计算所述第一目标时刻对应的函数值,得到所述负载的磁盘用量的预测值。
4.根据权利要求3所述的负载管理方法,其特征在于,依据所述负载的磁盘用量的变化速度组,构建所述负载的磁盘用量函数,包括:
计算所述负载的磁盘用量的变化速度组中的所有变化速度值的平均值,得到所述负载的磁盘用量的目标速度值;
对于每一个采集时刻组,该采集时刻组是由所述负载的磁盘用量的变化速度组中的每两个相邻的采集时刻构成的组合,依据该采集时刻组中的两个采集时刻各自对应的所述负载的磁盘用量的变化速度值,计算得到该采集时刻组中的前一个采集时刻对应的所述负载的磁盘用量的变化加速度值;
生成所述负载的磁盘用量的加速度组,所述负载的磁盘用量的加速度组包括:各个采集时刻及各个采集时刻各自对应的所述负载的磁盘用量的变化加速度值;
提取所述负载的磁盘用量的加速度组中的所有变化加速度值的中位数,得到所述负载的磁盘用量的目标加速度值;
依据所述负载的磁盘用量的目标速度值和所述负载的磁盘用量的目标加速度值,配置所述负载的磁盘用量函数,所述负载的磁盘用量函数为dataused(t)=diffμ*t+accMe*t2/2,其中,dataused(t)表示t时刻的所述负载的磁盘用量的函数值,diffμ表示所述负载的磁盘用量的目标速度值,accMe表示所述负载的磁盘用量的目标加速度值。
5.根据权利要求4所述的负载管理方法,其特征在于,所述预设的第一迁移重启条件为:所述负载的磁盘总用量的平均加速度值大于或等于0,且,所述负载的磁盘总用量的预测值大于或等于所述负载的磁盘总用量的预设门限;所述负载的磁盘总用量的平均加速度值为,所述负载的磁盘总用量的加速度组中的所有变化加速度值的平均值;
所述预设的第二迁移重启条件为:所述负载的第一类磁盘用量的平均加速度值大于或等于0,且,所述负载的第一类磁盘用量的预测值大于或等于所述负载的第一磁盘用量的预设门限;所述负载的第一类磁盘用量的平均加速度值为,所述负载的第一类磁盘用量的加速度组中的所有变化加速度值的平均值。
6.根据权利要求1-5中任一项所述的负载管理方法,其特征在于,所述负载管理方法还包括:对于任一个所述网络节点执行以下步骤:
获取所述网络节点的历史磁盘用量数据;所述网络节点的历史磁盘用量数据包括若干个数据组,该数据组包括采集时刻和在该采集时刻采集到的所述网络节点的磁盘总用量的实际值;
依据所述网络节点的历史磁盘用量数据,预测预设的第二目标时刻对应的所述网络节点的磁盘总用量的预测值,其中,所述第二目标时刻晚于所述第一目标时刻;
在所述网络节点的磁盘总用量的预测值大于或等于预设的所述网络节点的磁盘总用量的预设门限的情况下,从所述网络节点上运行的各个负载中,确定出优先级最低的预设数量个负载;其中,所述优先级最低的预设数量个负载满足:当前时刻的各个负载的磁盘总用量的实际值的和,大于或等于预设倍数的所述网络节点的磁盘总用量阈值,所述预设倍数小于1;
对于所述优先级最低的预设数量个负载中的每一负载,创建与所述负载对应的新负载,将所述负载的流量和所述负载的请求迁移到所述新负载,删除所述负载。
7.根据权利要求6所述的负载管理方法,其特征在于,所述网络节点的历史磁盘用量数据中的每两个相邻的采集时刻之间的时间间隔为第二预设采集步长;
所述依据所述网络节点的历史磁盘用量数据,预测预设的第二目标时刻对应的所述网络节点的磁盘总用量的预测值,包括:
按照采集时刻的先后顺序,依次对各个采集时刻对应的所述网络节点的磁盘总用量的实际值进行平滑处理;所述平滑处理包括:对于所述网络节点的历史磁盘用量数据中的最早的采集时刻,将该采集时刻对应的所述网络节点的磁盘总用量的实际值作为该采集时刻对应的所述网络节点的磁盘用量的目标值;对于非最早的采集时刻,计算该采集时刻对应的所述网络节点的磁盘总用量的实际值,和,该采集时刻的前一个采集时刻对应的所述网络节点的磁盘总用量的目标值的加权平均数,得到该采集时刻对应的所述网络节点的磁盘总用量的目标值;其中,该采集时刻对应的所述网络节点的磁盘总用量的实际值的权重为第二预设权重;
生成所述网络节点的平滑处理后的磁盘用量数据,所述网络节点的平滑处理后的磁盘用量数据包括:各个采集时刻及各个采集时刻各自对应的所述网络节点的磁盘总用量的目标值;
依据所述网络节点的平滑处理后的磁盘用量数据,预测所述第二目标时刻对应的所述网络节点的磁盘总用量的预测值。
8.一种负载管理装置,其特征在于,应用于由多个网络节点构成的集群,每一个所述网络节点上运行有至少一个负载,所述负载管理装置包括:
负载数据获取单元,用于对任一个所述负载,获取所述负载的历史磁盘用量数据;所述负载的历史磁盘用量数据包括若干个数据组,该数据组用于存储:采集时刻,以及,在该采集时刻采集到的所述负载的磁盘总用量的实际值和所述负载的第一类磁盘用量的实际值,其中,所述负载的第一类磁盘用量为被所述负载挂载的临时卷占用的磁盘用量;
负载磁盘用量预测单元,用于依据所述负载的历史磁盘用量数据,分别预测预设的第一目标时刻对应的所述负载的磁盘总用量的预测值和所述负载的第一类磁盘用量的预测值;所述第一目标时刻晚于当前时刻;
负载管理单元,用于在满足预设的第一迁移重启条件或满足预设的第二迁移重启条件的情况下,创建与所述负载对应的新负载,将所述负载的流量和所述负载的请求迁移到所述新负载,删除所述负载;其中,所述预设的第一迁移重启条件为,所述负载的磁盘总用量的预测值大于或等于所述负载的磁盘总用量的预设门限,所述预设的第二迁移重启条件为所述负载的第一类磁盘用量的预测值大于或等于所述负载的第一磁盘用量的预设门限。
9.一种负载管理设备,其特征在于,应用于由多个网络节点构成的集群,每一个所述网络节点上运行有至少一个负载,包括:存储器和处理器;
所述存储器,用于存储程序;
所述处理器,用于执行所述程序,实现如权利要求1-7中任一项所述的负载管理方法的各个步骤。
10.一种存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时,实现如权利要求1-7中任一项所述的负载管理方法的各个步骤。
CN202311245654.6A 2023-09-25 2023-09-25 负载管理方法、装置、设备及存储介质 Pending CN117492901A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202311245654.6A CN117492901A (zh) 2023-09-25 2023-09-25 负载管理方法、装置、设备及存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202311245654.6A CN117492901A (zh) 2023-09-25 2023-09-25 负载管理方法、装置、设备及存储介质

Publications (1)

Publication Number Publication Date
CN117492901A true CN117492901A (zh) 2024-02-02

Family

ID=89673292

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202311245654.6A Pending CN117492901A (zh) 2023-09-25 2023-09-25 负载管理方法、装置、设备及存储介质

Country Status (1)

Country Link
CN (1) CN117492901A (zh)

Similar Documents

Publication Publication Date Title
CN108733509B (zh) 用于在集群系统中备份和恢复数据的方法和系统
CN111796908B (zh) 一种资源自动弹性伸缩的系统、方法及云平台
JP6233413B2 (ja) タスク割り当て判定装置、制御方法、及びプログラム
CN108900626B (zh) 一种云环境下数据存储方法、装置及系统
CN113010260A (zh) 容器数量弹性伸缩方法以及容器数量弹性伸缩方法系统
CN113110914A (zh) 一种基于微服务架构的物联网平台构建方法
CN111104227B (zh) 一种K8s平台的资源控制方法、装置及相关组件
CN111813523A (zh) 时长预估模型生成方法、系统资源调度方法、装置、电子设备和存储介质
CN113806018A (zh) 基于神经网络和分布式缓存的Kubernetes集群资源混合调度方法
CN108376103A (zh) 一种云平台的资源平衡控制方法及服务器
CN112214288B (zh) 基于Kubernetes集群的Pod调度方法、装置、设备和介质
CN116467082A (zh) 一种基于大数据的资源分配方法及系统
CN114490078A (zh) 一种微服务的动态缩扩容方法、装置及设备
CN113672345A (zh) 一种基于io预测的云虚拟化引擎分布式资源调度方法
CN111796933A (zh) 资源调度方法、装置、存储介质和电子设备
CN112948109B (zh) 一种ai计算集群的配额弹性调度方法、装置及介质
CN113608838A (zh) 应用镜像文件的部署方法、装置、计算机设备和存储介质
Wu et al. ABP scheduler: Speeding up service spread in docker swarm
CN111555987B (zh) 限流配置方法、装置、设备及计算机存储介质
CN113626145A (zh) 业务虚拟机数量动态扩容方法及系统
CN117492901A (zh) 负载管理方法、装置、设备及存储介质
CN110806918A (zh) 基于深度学习神经网络的虚拟机运行方法和装置
CN110073321B (zh) 一种存储控制器及io请求处理方法
CN115562841A (zh) 一种云视频服务自适应资源调度系统和方法
CN112860442A (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