CN113946438A - 基于容器整合的在线迁移调度方法、装置、设备和系统 - Google Patents

基于容器整合的在线迁移调度方法、装置、设备和系统 Download PDF

Info

Publication number
CN113946438A
CN113946438A CN202111032953.2A CN202111032953A CN113946438A CN 113946438 A CN113946438 A CN 113946438A CN 202111032953 A CN202111032953 A CN 202111032953A CN 113946438 A CN113946438 A CN 113946438A
Authority
CN
China
Prior art keywords
node
container
load
overload
migrated
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.)
Granted
Application number
CN202111032953.2A
Other languages
English (en)
Other versions
CN113946438B (zh
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.)
Shanghai Industrial Control Safety Innovation Technology Co ltd
Xidian University
Original Assignee
Shanghai Industrial Control Safety Innovation Technology Co ltd
Xidian University
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 Shanghai Industrial Control Safety Innovation Technology Co ltd, Xidian University filed Critical Shanghai Industrial Control Safety Innovation Technology Co ltd
Priority to CN202111032953.2A priority Critical patent/CN113946438B/zh
Publication of CN113946438A publication Critical patent/CN113946438A/zh
Application granted granted Critical
Publication of CN113946438B publication Critical patent/CN113946438B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

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/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/5011Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resources being hardware resources other than CPUs, Servers and Terminals
    • G06F9/5016Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resources being hardware resources other than CPUs, Servers and Terminals the resource being the memory
    • 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/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5083Techniques for rebalancing the load in a distributed system
    • G06F9/5088Techniques for rebalancing the load in a distributed system involving task migration
    • 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

本发明公开了一种基于容器整合的在线迁移调度方法、装置、设备和系统,获取多个节点分别对应的负载值,其中,节点对应的负载值用于指示从当前时间窗口起向前连续N个时间窗口对应的节点的负载情况,将每个节点的负载值输入至过载预测模型,分别得到每个节点的预测结果,预测结果用于指示节点在当前时间窗口的下一个时间窗口是否过载,过载预测模型包括卷积神经网络层和门控循环单元层,过载预测模型的训练样本包含监督型数据,将过载节点的待迁移容器迁移到目标节点,多个节点包括目标节点,过载节点的预测结果指示过载节点在当前时间窗口的下一个时间窗口过载。实现对容器云环境中资源的调度与分配,提高资源的利用率及能源效率。

Description

基于容器整合的在线迁移调度方法、装置、设备和系统
技术领域
本发明属于计算机技术领域,具体涉及一种基于容器整合的在线迁移调度方法、装置、设备和系统。
背景技术
随着计算机技术的快速发展,容器技术所具有的高可扩展性不仅得到了行业内的普遍认可,同时作为云计算的核心技术支撑起了IoT物联网、5G等技术的全面发展和普及。
但随着容器云集群规模的不断扩大,一方面,在该运行环境下集群的资源负载情况时刻都在发生着变化。某一时间段内,容器资源请求情况的快速增长,必然引起节点的资源负载的上升,当超过上限时,则会造成节点过载现象的发生,从而引起对外提供服务性能的下降,无法及时有效的完成用户需求。
因而,如何根据容器云环境的实际情况,对资源进行调度,实现资源的部署是一个亟待解决的问题。
发明内容
为了解决现有技术中存在的上述问题,本发明提供了一种基于容器整合的在线迁移调度方法、装置、设备和系统。本发明要解决的技术问题通过以下技术方案实现:
第一方面,本发明实施例提供一种基于容器整合的在线迁移调度方法,包括:
获取所述多个节点分别对应的负载值,其中,节点对应的负载值用于指示从当前时间窗口起向前连续N个时间窗口对应的所述节点的负载情况,N为大于或等于1的整数;
将每个节点的负载值输入至过载预测模型,分别得到每个节点的预测结果,所述预测结果用于指示所述节点在所述当前时间窗口的下一个时间窗口是否过载,所述过载预测模型包括卷积神经网络层和门控循环单元层,所述过载预测模型的训练样本包含监督型数据;
将过载节点的待迁移容器迁移到目标节点,所述多个节点包括所述目标节点,所述过载节点的预测结果指示所述过载节点在所述当前时间窗口的下一个时间窗口过载。
可选的,所述将过载节点的待迁移容器迁移到目标节点,包括:
根据所述过载节点上运行的容器与所述过载节点的相关值,确定待迁移容器,所述相关值用于指示所述过载节点上运行的容器与所述过载节点的相关性;
确定每个待迁移容器对应的目标节点;
将所述待迁移容器迁移到目标节点。
可选的,所述根据所述过载节点上运行的容器与所述过载节点的相关值,确定待迁移容器,包括:
针对每个所述过载节点上运行的容器,根据所述容器的处理资源的历史记录和所述过载节点的处理资源的历史记录,得到所述容器与所述过载节点的处理资源的负载相关值;根据所述容器的内存的历史记录和所述过载节点的内存的历史记录,得到所述容器与所述过载节点的内存的负载相关值;根据所述处理资源的负载相关值和所述内存的负载相关值,得到所述容器与所述过载节点的负载相关值;若所述容器与所述过载节点的负载相关值小于预设阈值,确定所述容器为待迁移容器。
可选的,所述确定每个待迁移容器对应的目标节点,包括:
将所述待迁移容器按照请求的处理资源和内存资源的使用量进行降序排列,得到迁移容器集;
将所述多个节点按照可用处理资源和内存资源进行升序排列,得到候选节点集;
将所述迁移容器集中待迁移容器与所述候选节点集中节点的排列顺序一一对应,得到每个待迁移容器对应的目标节点。
可选的,所述将所述待迁移容器迁移到目标节点,包括:
获取所述待迁移容器的信息;
向目标节点发送容器创建指令,所述容器创建指令中包含所述待迁移容器的信息,所述容器创建指令用于指示所述目标节点根据所述待迁移容器的信息创建目标容器;
若将所述待迁移容器的数据迁移到所述目标容器中的时间小于预设阈值,将所述待迁移容器的数据迁移到所述目标容器。
可选的,所述获取所述多个节点分别对应的负载值,包括:
获取所述多个节点分别对应的负载时序数据,所述负载时序数据包括当前时间窗口之前连续N个时间窗口的每个时间窗口的资源的使用占比率,其中,所述资源包括以下一种或多种:处理资源、内存资源、磁盘资源和网络资源;
针对每个节点,根据所述节点对应的负载时序数据和所述负载时序数据的权值,得到所述节点对应的负载值,所述节点对应的负载值为当前时间窗口之前连续N个时间窗口的每个时间窗口的负载值。
可选的,所述方法还包括:
获取待选节点集,所述待选节点集中包含所述多个节点中除所述过载节点外的其他节点;
从待选节点集中的负载值最低的节点开始,将所述负载值最低的节点上运行的容器迁移到其他节点,将所述负载值最低的节点从所述待选节点集中删除,并关闭所述负载值最低的节点,返回执行所述将所述负载值最低的节点上运行的容器迁移到其他节点,直到所述待选节点集为空。
第二方面,一种基于容器整合的在线迁移调度装置,包括:
数据获取模块,用于获取所述多个节点分别对应的负载值,其中,节点对应的负载值用于指示从当前时间窗口起向前连续N个时间窗口对应的所述节点的负载情况,N为大于或等于1的整数;
过载预测模块,用于将每个节点的负载值输入至过载预测模型,分别得到每个节点的预测结果,所述预测结果用于指示所述节点在所述当前时间窗口的下一个时间窗口是否过载,所述过载预测模型包括卷积神经网络层和门控循环单元层,所述过载预测模型的训练样本包含监督型数据;
容器迁移模块,用于将过载节点的待迁移容器迁移到目标节点,所述多个节点包括所述目标节点,所述过载节点的预测结果指示所述过载节点在所述当前时间窗口的下一个时间窗口过载。
可选的,所述容器迁移模块具体用于:
根据所述过载节点上运行的容器与所述过载节点的相关值,确定待迁移容器,所述相关值用于指示所述过载节点上运行的容器与所述过载节点的相关性;确定每个待迁移容器对应的目标节点;将所述待迁移容器迁移到目标节点。
可选的,所述容器迁移模块具体用于:
针对每个所述过载节点上运行的容器,根据所述容器的处理资源的历史记录和所述过载节点的处理资源的历史记录,得到所述容器与所述过载节点的处理资源的负载相关值;根据所述容器的内存的历史记录和所述过载节点的内存的历史记录,得到所述容器与所述过载节点的内存的负载相关值;根据所述处理资源的负载相关值和所述内存的负载相关值,得到所述容器与所述过载节点的负载相关值;若所述容器与所述过载节点的负载相关值小于预设阈值,确定所述容器为待迁移容器。
可选的,所述容器迁移模块具体用于:
将所述待迁移容器按照请求的处理资源和内存资源的使用量进行降序排列,得到迁移容器集;将所述多个节点按照可用处理资源和内存资源进行升序排列,得到候选节点集;将所述迁移容器集中待迁移容器与所述候选节点集中节点的排列顺序一一对应,得到每个待迁移容器对应的目标节点。
可选的,所述容器迁移模块具体用于:
获取所述待迁移容器的信息;向目标节点发送容器创建指令,所述容器创建指令中包含所述待迁移容器的信息,所述容器创建指令用于指示所述目标节点根据所述待迁移容器的信息创建目标容器;若将所述待迁移容器的数据迁移到所述目标容器中的时间小于预设阈值,将所述待迁移容器的数据迁移到所述目标容器。
可选的,所述数据获取模块具体用于
获取所述多个节点分别对应的负载时序数据,所述负载时序数据包括当前时间窗口之前连续N个时间窗口的每个时间窗口的资源的使用占比率,其中,所述资源包括以下一种或多种:处理资源、内存资源、磁盘资源和网络资源;针对每个节点,根据所述节点对应的负载时序数据和所述负载时序数据的权值,得到所述节点对应的负载值,所述节点对应的负载值为当前时间窗口之前连续N个时间窗口的每个时间窗口的负载值。
可选的,所述装置还包括:
欠载处理模块,用于获取待选节点集,所述待选节点集中包含所述多个节点中除所述过载节点外的其他节点;从待选节点集中的负载值最低的节点开始,将所述负载值最低的节点上运行的容器迁移到其他节点,将所述负载值最低的节点从所述待选节点集中删除,并关闭所述负载值最低的节点,返回执行所述将所述负载值最低的节点上运行的容器迁移到其他节点,直到所述待选节点集为空。
第三方面,本发明提供一种基于容器整合的在线迁移调度设备,包括:
存储器,用于存放计算机程序;
处理器,用于执行存储器上所存放的程序时,实现如上述第一方面所述的方法步骤。
第四方面,本发明提供一种基于容器整合的在线迁移调度系统,包括:如上述第三方面所述的基于容器整合的在线迁移调度设备。
本发明的有益效果:
通过获取多个节点分别对应的负载值,其中,节点对应的负载值用于指示当前时间窗口之前连续N个时间窗口的时间段内对应的节点的负载情况,对各个节点的资源负载情况的变化,合理的利用监控工具进行跟踪,将每个节点的负载值输入至过载预测模型,分别得到每个节点的预测结果,其中,过载预测模型为预先训练好的,在对过载预测模型训练的过程中,训练样本中包含监督型数据。过载预测模型包括卷积神经网络层和门控循环单元层,预测结果用于指示节点在当前时间窗口的下一个时间窗口是否过载。克服了现有技术中只采用门控循环单元层的网络模型进行预测所带来的预测结果不准确的问题,采用加入了监督学习机制的过载预测模型,将各个节点的资源负载情况的变化与容器集群的运行时状态进行关联分析,充分考虑了多种可能影响负载的因素。将过载节点的待迁移容器迁移到目标节点。完成对负载信息的分析、运用,实现对容器云环境中资源的调度与分配,对节点的负载情况的预测更准确,从而使得对容器调度更加合理准确,能够很好的防止各节点出现过载现象,提高资源的利用率及能源效率,提升对外提供服务的能力。
附图说明
图1是本发明实施例提供的一种基于容器整合的在线迁移调度方法的流程示意图;
图2是本发明实施例提供的一种基于容器整合的在线迁移调度装置的结构示意图。
具体实施方式
下面结合具体实施例对本发明做进一步详细的描述,但本发明的实施方式不限于此。
本发明提供的基于容器整合的在线迁移调度方法应用于基于容器整合的在线迁移调度系统。基于容器整合的在线迁移调度系统包括:基于容器整合的在线迁移调度设备和多个节点。基于容器整合的在线迁移调度设备分别与多个节点连接。其中,多个节点中的每个节点中可以运行一个或多个容器。多个节点组成了数据中心集群,可以对客户端发送的资源请求,在节点上的容器中执行。
基于容器整合的在线迁移调度设备可以为一个或多个服务器。多个节点中的每个节点可以为一个或多个服务器。
可选的,基于容器整合的在线迁移调度系统包括主节点,主节点与多个节点分别连接,该基于容器整合的在线迁移调度设备可以为主节点。
下面以具体的实施例进行详细说明本发明提供的技术方案。
请参见图1,图1是本发明实施例提供的一种基于容器整合的在线迁移调度方法的流程示意图,如图1所示,本实施例的方法由上述基于容器整合的在线迁移调度设备执行,本实施例提供的方法包括如下步骤:
S101、获取多个节点分别对应的负载值。
其中,节点对应的负载值用于指示当前时间窗口之前连续N个时间窗口的时间段内对应的节点的负载情况。
对于一个节点,其提供自身资源供容器运行,从而提供相应的服务。其中,资源可以包括但不限于以下一种或多种:处理资源、内存资源、磁盘资源和网络资源。从而在其上的容器需要占用节点自身资源完成容器正常的运行,节点上的容器所需要的资源也可以称为该节点上的负载。
基于容器整合的在线迁移调度设备获取基于容器整合的在线迁移调度系统中所有的节点的负载值。其中,负载值用于指示从当前时间窗口起向前连续N个时间窗口对应的节点的负载情况。也就是,从当前时间窗口往前的N个连续时间窗口中每个时间窗口对应负载情况,N个时间窗口对应的负载情况组成了该节点的负载值。
例如,N=15,可以获取从当前时间窗口往前的15个时间窗口分别对应的负载值,得到该节点的负载值。可以理解,该节点的负载值为由15个值组成的序列。
S102、将每个节点的负载值输入至过载预测模型,分别得到每个节点的预测结果。
其中,过载预测模型为预先训练好的,在对过载预测模型训练的过程中,训练样本中包含监督型数据。过载预测模型包括卷积神经网络(CNN)层和门控循环单元(GateRecurrent Unit,简称GRU)层。
其中,预测结果用于指示节点在当前时间窗口的下一个时间窗口是否过载。
S103、将过载节点的待迁移容器迁移到目标节点。
其中,多个节点包括目标节点,过载节点的预测结果指示过载节点在当前时间窗口的下一个时间窗口过载。
确定待迁移容器对应的目标节点,该目标节点与待迁移容器所在的过载节点不同。将待迁移容器迁移到目标节点,从而在目标节点上得到一个新的容器,该新的容器与待迁移容器的信息、容器层等均相同。待迁移容器相应的业务由目标节点上运行的容器继续完成。
可选的,迁移完成以后,可以将待迁移容器关闭。
本实施例,通过获取多个节点分别对应的负载值,其中,节点对应的负载值用于指示当前时间窗口之前连续N个时间窗口的时间段内对应的节点的负载情况,对各个节点的资源负载情况的变化,合理的利用监控工具进行跟踪,将每个节点的负载值输入至过载预测模型,分别得到每个节点的预测结果,其中,过载预测模型为预先训练好的,在对过载预测模型训练的过程中,训练样本中包含监督型数据。过载预测模型包括卷积神经网络层和门控循环单元层,预测结果用于指示节点在当前时间窗口的下一个时间窗口是否过载。克服了现有技术中只采用门控循环单元层的网络模型进行预测所带来的预测结果不准确的问题,采用加入了监督学习机制的过载预测模型,将各个节点的资源负载情况的变化与容器集群的运行时状态进行关联分析,充分考虑了多种可能影响负载的因素。将过载节点的待迁移容器迁移到目标节点。完成对负载信息的分析、运用,实现对容器云环境中资源的调度与分配,能够很好的防止各节点出现过载现象,对节点的负载情况的预测更准确,从而使得对容器调度更加合理准确,提高资源的利用率及能源效率,提升对外提供服务的能力。
在上述实施例的基础上,进一步地,S103可以通过如下步骤实现:
S1031、根据过载节点上运行的容器与过载节点的相关值,确定待迁移容器。
其中,相关值用于指示过载节点上运行的容器与过载节点的相关性。
S1032、确定每个待迁移容器对应的目标节点。
S1033、将待迁移容器迁移到目标节点。
在上述实施例的基础上,进一步地,S1031可以通过如下步骤实现:
针对每个过载节点上运行的容器,根据容器的处理资源的历史记录和过载节点的处理资源的历史记录,得到容器与过载节点的处理资源的负载相关值;根据容器的内存的历史记录和过载节点的内存的历史记录,得到容器与过载节点的内存的负载相关值;根据处理资源的负载相关值和内存的负载相关值,得到容器与过载节点的负载相关值;若容器与过载节点的负载相关值小于预设阈值,确定容器为待迁移容器。
本实施例,通过确定容器与过载节点的负载相关值,并将负载相关值与预设阈值进行比较,确定待迁移容器,采用了节点与容器的相似性评估策略,将节点与容器的关系进行了考虑,达到了均衡节点资源利用率的目的,提升了节点上容器的运行效率,使得系统达到最大化资源利用率的目的。
在上述实施例的基础上,进一步地,S1032可以通过如下步骤实现:
S10321、将待迁移容器按照请求的处理资源和内存资源的使用量进行降序排列,得到迁移容器集;
S10322、将多个节点按照可用处理资源和内存资源进行升序排列,得到候选节点集;
S10323、将迁移容器集中待迁移容器与候选节点集中节点的排列顺序一一对应,得到每个待迁移容器对应的目标节点。
在上述实施例的基础上,进一步地,S1033可以通过如下步骤实现:
S10331、获取待迁移容器的信息;
S10332、向目标节点发送容器创建指令,容器创建指令中包含待迁移容器的信息,容器创建指令用于指示目标节点根据待迁移容器的信息创建目标容器;
S10333、判断待迁移容器的数据迁移到目标容器中的预测时间是否小于预设阈值。
若待迁移容器的数据迁移到目标容器中的预测时间小于预设阈值,继续执行S10334。若将待迁移容器的数据迁移到目标容器中的预测时间大于等于预设阈值,获取下一个待迁移容器,返回执行S10333。
S10334、将待迁移容器的数据迁移到目标容器。
本实施例,在容器迁移的过程中加入了容器间关系的考虑,根据负载检测判定在容器选择和迁移的过程对容器进行了整合,并采用最适应衰减算法将候选节点按照可用资源量升序排列,然后按顺序依次分配容器,降低了容器迁移难度,达到最大化资源利用率的目的。
在上述实施例的基础上,进一步地,S101可以通过如下步骤实现:
S1011、获取多个节点分别对应的负载时序数据,负载时序数据包括当前时间窗口之前连续N个时间窗口的每个时间窗口的资源的使用占比率,其中,资源包括以下一种或多种:处理资源、内存资源、磁盘资源和网络资源;
S1012、针对每个节点,根据节点对应的负载时序数据和负载时序数据的权值,得到节点对应的负载值,节点对应的负载值为当前时间窗口之前连续N个时间窗口的每个时间窗口的负载值。
在上述实施例的基础上,进一步地,S103之后还可以执行如下步骤:
S104、获取待选节点集,待选节点集中包含多个节点中除过载节点外的其他节点;
S105、从待选节点集中的负载值最低的节点开始,将负载值最低的节点上运行的容器迁移到其他节点,将负载值最低的节点从待选节点集中删除,并关闭负载值最低的节点,返回执行将负载值最低的节点上运行的容器迁移到其他节点,直到待选节点集为空。
在另外一些实施例中,可以对过载预测模型进行训练。对过载预测模型进行训练的过程可以在上述实施例中的S102之前执行,也可以单独执行,对此本发明不做限定。下面介绍对过载预测模型进行训练的过程。
获取训练样本数据,该训练样本数据中包含监督型数据。
经训练样本数据输入到过载预测模型中进行训练,直到过载预测模型收敛,得到训练好的过载预测模型。
下面以具体的示例进行说明本发明实施例提供的方法。本示例的方法应用于容器云集群,容器云集群本发明中也称为容器集群,本示例的方法包括如下步骤:
步骤1,获取容器集群初始负载时序数据(此处的初始负载时序数据为上述实施例中的负载时序数据)。
从容器云集群中获取每个节点上负载时序数据,得到初始负载时序数据。的初始负载时序数据包括容器集群中节点的处理(CPU)资源、内存资源、磁盘输入输出资源(对应上述实施例中的磁盘资源)、网络输入输出资源(对应上述实施例中的网络资源)四种资源分别在多个时间窗口的数值。
步骤2,获取容器集群负载计算值(此处的负载计算值为上述实施例中的负载值)。
数据获取模块将初始负载时序数据利用改进动态负载模型进行负载值计算,得到负载计算值。
利用改进动态负载模型进行负载值计算,可以根据如下公式(1),得到负载值:
Figure BDA0003245857210000131
其中,
Figure BDA0003245857210000132
是时间窗口i的容器的负载计算值。
Figure BDA0003245857210000133
分别是节点在时间窗口i中CPU资源、内存资源、磁盘IO资源和网络IO资源经过归一化处理后的数值;参数
Figure BDA0003245857210000134
分别是CPU资源、内存资源、磁盘IO资源和网络IO资源四个参数在负载模型中所占的比例。
其中,上述参数的值可以由容器提供的服务类型确定。服务类型可以包括但不限于:计算服务、搜索服务或登录服务等,本发明对此不做限定。
步骤3,将负载值输入到过载预测模块中进行处理。
过载预测模型中包括卷积神经网络CNN层和门控循环单元GRU层。
步骤31、过载预测模块将负载值输入到卷积神经网络CNN层中进行处理,得到低维度负载时序特征;
步骤32、将低维度负载时序特征输入到门控循环单元GRU层中进行神经网络训练,得到过载预测模型;
步骤33、利用过载预测模型对容器集群中的节点进行过载预测,得到过载节点集。
步骤4,利用基于动态负载匹配的容器选择方法进行迁移容器选择。
步骤41、容器迁移模块将过载节点集中的节点按照负载降序排列,得到活跃容器集。
步骤42、容器迁移模块计算容器与节点的负载相关性,从活跃容器集中优先选择容器与节点负载相关性较小的容器加入待迁移容器集合。
基于动态负载匹配的容器选择方法进行容器与节点间的负载相关性计算。可以根据如下公式(2),得到容器与节点间的分别每种类型资源的负载相关值:
Figure BDA0003245857210000141
其中,
Figure BDA0003245857210000142
是节点pma的负载历史记录,n为时间窗口的数量,
Figure BDA0003245857210000143
是容器ca的负载历史记录,res表示一种资源。
可以理解,资源可以为CPU、内存、磁盘或者网络,从而分别根据公式(2)可以分别得到CPU、内存、磁盘或者网络的负载相关值。
根据如下公式(3),得到容器与节点的总的负载相关值:
Figure BDA0003245857210000151
其中,
Figure BDA0003245857210000152
是容器与节点的总的负载相关值,
Figure BDA0003245857210000153
是容器与节点之间的CPU的负载相关值,
Figure BDA0003245857210000154
是容器与节点之间的内存的负载相关值,
Figure BDA0003245857210000155
是容器与节点之间的磁盘的负载相关值,
Figure BDA0003245857210000156
是容器与节点之间的网络的负载相关值。
Figure BDA0003245857210000157
的值大小位于0到2之间,为了更精准的选择容器,设定
Figure BDA0003245857210000158
的阈值为0.6。满足容器与物理机之间的负载相关性小于0.6时,容器被选择为待迁移容器。
步骤5,利用基于最适应衰减的节点选择方法进行目标节点选择。
步骤51、将被迁移容器按照其请求的CPU和内存使用量降序排列,得到迁移容器降序集。
步骤52、将候选节点按照可用CPU和内存资源量升序排列,得到候选节点升序集。
步骤53、按照迁移容器降序集和候选节点升序集顺序依次进行容器与节点的匹配,得到迁移匹配集。
步骤6,利用基于联合文件系统的容器在线迁移方法进行容器的在线迁移。
步骤61、获取待迁移容器在源节点上所要迁移的容器信息,得到待迁移容器信息表。
步骤62、根据迁移匹配集找到被待迁移容器的目标节点,并将待迁移容器信息表发送目标节点,目标节点根据待迁移容器信息表创建新的容器,得到创建容器反馈信息表。
步骤63、根据创建容器反馈信息表将待迁移容器的容器层数据迭代迁移得到目标节点新创建的容器层中,并计算出迁移时间,当迁移时间小于设定的时间阀值时迭代迁移结束。
步骤64、采用Docker本地的容器设置检查点技术,将容器的内存数据写出到指定位置的磁盘文件中,得到待迁移容器数据文件。
步骤65、将待迁移容器数据文件发送到目标节点,同时再对容器层数据做一次迁移操作。
步骤66、采用Docker本地的容器恢复技术,基于待迁移容器信息表和迁移容器数据文件恢复容器,使目标节点上的容器替代源主机上的容器继续运行。
步骤7,利用静态阈值方法进行欠载节点处理。
步骤71、将除过载主机外,数据中心中的所有节点都加入待选节点集,遍历待选节点集,得到其中负载计算值最低的节点。
步骤72、采用步骤6将负载计算值最低节点上的容器迁移到其余主机上;
步骤73、将负载计算值最低节点从待选节点集中去除并关闭该节点;
步骤74、继续遍历待选节点集,重复步骤72和步骤73,直至待选节点集为空。
请参见图2,图2是本发明实施例提供的一种基于容器整合的在线迁移调度装置的结构示意图,如图2所示,本实施例的装置包括:
数据获取模块201,用于获取多个节点分别对应的负载值,其中,节点对应的负载值用于指示从当前时间窗口起向前连续N个时间窗口对应的节点的负载情况,N为大于或等于1的整数;
过载预测模块202,用于将每个节点的负载值输入至过载预测模型,分别得到每个节点的预测结果,预测结果用于指示节点在当前时间窗口的下一个时间窗口是否过载,过载预测模型包括卷积神经网络层和门控循环单元层,过载预测模型的训练样本包含监督型数据;
容器迁移模块203,用于将过载节点的待迁移容器迁移到目标节点,多个节点包括目标节点,过载节点的预测结果指示过载节点在当前时间窗口的下一个时间窗口过载。
可选的,容器迁移模块203具体用于:
根据过载节点上运行的容器与过载节点的相关值,确定待迁移容器,相关值用于指示过载节点上运行的容器与过载节点的相关性;确定每个待迁移容器对应的目标节点;将待迁移容器迁移到目标节点。
可选的,容器迁移模块203具体用于:
针对每个过载节点上运行的容器,根据容器的处理资源的历史记录和过载节点的处理资源的历史记录,得到容器与过载节点的处理资源的负载相关值;根据容器的内存的历史记录和过载节点的内存的历史记录,得到容器与过载节点的内存的负载相关值;根据处理资源的负载相关值和内存的负载相关值,得到容器与过载节点的负载相关值;若容器与过载节点的负载相关值小于预设阈值,确定容器为待迁移容器。
可选的,容器迁移模块203具体用于:
将待迁移容器按照请求的处理资源和内存资源的使用量进行降序排列,得到迁移容器集;将多个节点按照可用处理资源和内存资源进行升序排列,得到候选节点集;将迁移容器集中待迁移容器与候选节点集中节点的排列顺序一一对应,得到每个待迁移容器对应的目标节点。
可选的,容器迁移模块203具体用于:
获取待迁移容器的信息;向目标节点发送容器创建指令,容器创建指令中包含待迁移容器的信息,容器创建指令用于指示目标节点根据待迁移容器的信息创建目标容器;若将待迁移容器的数据迁移到目标容器中的时间小于预设阈值,将待迁移容器的数据迁移到目标容器。
可选的,数据获取模块201具体用于
获取多个节点分别对应的负载时序数据,负载时序数据包括当前时间窗口之前连续N个时间窗口的每个时间窗口的资源的使用占比率,其中,资源包括以下一种或多种:处理资源、内存资源、磁盘资源和网络资源;针对每个节点,根据节点对应的负载时序数据和负载时序数据的权值,得到节点对应的负载值,节点对应的负载值为当前时间窗口之前连续N个时间窗口的每个时间窗口的负载值。
可选的,装置还包括:
欠载处理模块,用于获取待选节点集,待选节点集中包含多个节点中除过载节点外的其他节点;从待选节点集中的负载值最低的节点开始,将负载值最低的节点上运行的容器迁移到其他节点,将负载值最低的节点从待选节点集中删除,并关闭负载值最低的节点,返回执行将负载值最低的节点上运行的容器迁移到其他节点,直到待选节点集为空。
上述实施例的装置,可以用于执行上述方法实施例的技术方案,其实现原理和技术效果类似,此处不再赘述。
本发明实施例提供一种基于容器整合的在线迁移调度设备,包括:
存储器,用于存放计算机程序;
处理器,用于执行存储器上所存放的程序时,实现如上述实施例的方法步骤。
本发明实施例提供一种基于容器整合的在线迁移调度系统,包括:如上述实施例的基于容器整合的在线迁移调度设备。
在本发明的描述中,需要理解的是,术语“第一”、“第二”仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括一个或者更多个该特征。在本发明的描述中,“多个”的含义是两个或两个以上,除非另有明确具体的限定。
在本发明中,除非另有明确的规定和限定,术语“安装”、“相连”、“连接”、“固定”等术语应做广义理解,例如,可以是固定连接,也可以是可拆卸连接,或成一体;可以是机械连接,也可以是电连接;可以是直接相连,也可以通过中间媒介间接相连,可以是两个元件内部的连通或两个元件的相互作用关系。对于本领域的普通技术人员而言,可以根据具体情况理解上述术语在本发明中的具体含义。
在本说明书的描述中,参考术语“一个实施例”、“一些实施例”、“示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本发明的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不必须针对的是相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以在任何的一个或多个实施例或示例中以合适的方式结合。此外,本领域的技术人员可以将本说明书中描述的不同实施例或示例进行接合和组合。
以上内容是结合具体的优选实施方式对本发明所作的进一步详细说明,不能认定本发明的具体实施只局限于这些说明。对于本发明所属技术领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干简单推演或替换,都应当视为属于本发明的保护范围。

Claims (10)

1.一种基于容器整合的在线迁移调度方法,其特征在于,包括:
获取多个节点分别对应的负载值,其中,节点对应的负载值用于指示从当前时间窗口起向前连续N个时间窗口对应的所述节点的负载情况,N为大于或等于1的整数;
将每个节点的负载值输入至过载预测模型,分别得到每个节点的预测结果,所述预测结果用于指示所述节点在所述当前时间窗口的下一个时间窗口是否过载,所述过载预测模型包括卷积神经网络层和门控循环单元层,所述过载预测模型的训练样本包含监督型数据;
将过载节点的待迁移容器迁移到目标节点,所述多个节点包括所述目标节点,所述过载节点的预测结果指示所述过载节点在所述当前时间窗口的下一个时间窗口过载。
2.根据权利要求1所述的方法,其特征在于,所述将过载节点的待迁移容器迁移到目标节点,包括:
根据所述过载节点上运行的容器与所述过载节点的相关值,确定待迁移容器,所述相关值用于指示所述过载节点上运行的容器与所述过载节点的相关性;
确定每个待迁移容器对应的目标节点;
将所述待迁移容器迁移到目标节点。
3.根据权利要求2所述的方法,其特征在于,所述根据所述过载节点上运行的容器与所述过载节点的相关值,确定待迁移容器,包括:
针对每个所述过载节点上运行的容器,根据所述容器的处理资源的历史记录和所述过载节点的处理资源的历史记录,得到所述容器与所述过载节点的处理资源的负载相关值;根据所述容器的内存的历史记录和所述过载节点的内存的历史记录,得到所述容器与所述过载节点的内存的负载相关值;根据所述处理资源的负载相关值和所述内存的负载相关值,得到所述容器与所述过载节点的负载相关值;若所述容器与所述过载节点的负载相关值小于预设阈值,确定所述容器为待迁移容器。
4.根据权利要求2或3所述的方法,其特征在于,所述确定每个待迁移容器对应的目标节点,包括:
将所述待迁移容器按照请求的处理资源和内存资源的使用量进行降序排列,得到迁移容器集;
将所述多个节点按照可用处理资源和内存资源进行升序排列,得到候选节点集;
将所述迁移容器集中待迁移容器与所述候选节点集中节点的排列顺序一一对应,得到每个待迁移容器对应的目标节点。
5.根据权利要求2或3所述的方法,其特征在于,所述将所述待迁移容器迁移到目标节点,包括:
获取所述待迁移容器的信息;
向目标节点发送容器创建指令,所述容器创建指令中包含所述待迁移容器的信息,所述容器创建指令用于指示所述目标节点根据所述待迁移容器的信息创建目标容器;
若将所述待迁移容器的数据迁移到所述目标容器中的时间小于预设阈值,将所述待迁移容器的数据迁移到所述目标容器。
6.根据权利要求1所述的方法,其特征在于,所述获取所述多个节点分别对应的负载值,包括:
获取所述多个节点分别对应的负载时序数据,所述负载时序数据包括当前时间窗口之前连续N个时间窗口的每个时间窗口的资源的使用占比率,其中,所述资源包括以下一种或多种:处理资源、内存资源、磁盘资源和网络资源;
针对每个节点,根据所述节点对应的负载时序数据和所述负载时序数据的权值,得到所述节点对应的负载值,所述节点对应的负载值为当前时间窗口之前连续N个时间窗口的每个时间窗口的负载值。
7.根据权利要求1所述的方法,其特征在于,所述方法还包括:
获取待选节点集,所述待选节点集中包含所述多个节点中除所述过载节点外的其他节点;
从待选节点集中的负载值最低的节点开始,将所述负载值最低的节点上运行的容器迁移到其他节点,将所述负载值最低的节点从所述待选节点集中删除,并关闭所述负载值最低的节点,返回执行所述将所述负载值最低的节点上运行的容器迁移到其他节点,直到所述待选节点集为空。
8.一种基于容器整合的在线迁移调度装置,其特征在于,包括:
数据获取模块,用于获取所述多个节点分别对应的负载值,其中,节点对应的负载值用于指示从当前时间窗口起向前连续N个时间窗口对应的所述节点的负载情况,N为大于或等于1的整数;
过载预测模块,用于将每个节点的负载值输入至过载预测模型,分别得到每个节点的预测结果,所述预测结果用于指示所述节点在所述当前时间窗口的下一个时间窗口是否过载,所述过载预测模型包括卷积神经网络层和门控循环单元层,所述过载预测模型的训练样本包含监督型数据;
容器迁移模块,用于将过载节点的待迁移容器迁移到目标节点,所述多个节点包括所述目标节点,所述过载节点的预测结果指示所述过载节点在所述当前时间窗口的下一个时间窗口过载。
9.一种基于容器整合的在线迁移调度设备,其特征在于,包括:
存储器,用于存放计算机程序;
处理器,用于执行所述存储器上所存放的程序时,实现权利要求1-7任一所述的方法步骤。
10.一种基于容器整合的在线迁移调度系统,其特征在于,包括:权利要求9所述的基于容器整合的在线迁移调度设备。
CN202111032953.2A 2021-09-03 2021-09-03 基于容器整合的在线迁移调度方法、装置、设备和系统 Active CN113946438B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202111032953.2A CN113946438B (zh) 2021-09-03 2021-09-03 基于容器整合的在线迁移调度方法、装置、设备和系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202111032953.2A CN113946438B (zh) 2021-09-03 2021-09-03 基于容器整合的在线迁移调度方法、装置、设备和系统

Publications (2)

Publication Number Publication Date
CN113946438A true CN113946438A (zh) 2022-01-18
CN113946438B CN113946438B (zh) 2024-04-30

Family

ID=79327859

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202111032953.2A Active CN113946438B (zh) 2021-09-03 2021-09-03 基于容器整合的在线迁移调度方法、装置、设备和系统

Country Status (1)

Country Link
CN (1) CN113946438B (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115118729A (zh) * 2022-06-28 2022-09-27 中国电信股份有限公司 容器迁移方法、系统和存储介质

Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108829494A (zh) * 2018-06-25 2018-11-16 杭州谐云科技有限公司 基于负载预测的容器云平台智能资源优化方法
US20190317812A1 (en) * 2018-04-16 2019-10-17 State Street Corporation Guaranteed quality of service in cloud computing environments
CN110780998A (zh) * 2019-09-29 2020-02-11 武汉大学 基于Kubernetes的动态负载均衡资源调度方法
CN110825589A (zh) * 2019-11-07 2020-02-21 字节跳动有限公司 用于微服务系统的异常检测方法及其装置和电子设备
CN111045820A (zh) * 2019-12-03 2020-04-21 浩鲸云计算科技股份有限公司 一种基于时序预测的容器调度方法
US20210149731A1 (en) * 2019-11-14 2021-05-20 Sas Institute Inc. Atomic Pool Manager
CN112905343A (zh) * 2021-02-09 2021-06-04 重庆大学 一种工业云环境下基于负载特性的资源调度系统
CN113051130A (zh) * 2021-03-19 2021-06-29 南京航空航天大学 结合注意力机制的lstm网络的移动云负载预测方法及系统
CN113128783A (zh) * 2021-05-06 2021-07-16 大连理工大学 一种基于图迁移学习的交通预测方法

Patent Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20190317812A1 (en) * 2018-04-16 2019-10-17 State Street Corporation Guaranteed quality of service in cloud computing environments
CN108829494A (zh) * 2018-06-25 2018-11-16 杭州谐云科技有限公司 基于负载预测的容器云平台智能资源优化方法
CN110780998A (zh) * 2019-09-29 2020-02-11 武汉大学 基于Kubernetes的动态负载均衡资源调度方法
CN110825589A (zh) * 2019-11-07 2020-02-21 字节跳动有限公司 用于微服务系统的异常检测方法及其装置和电子设备
US20210149731A1 (en) * 2019-11-14 2021-05-20 Sas Institute Inc. Atomic Pool Manager
CN111045820A (zh) * 2019-12-03 2020-04-21 浩鲸云计算科技股份有限公司 一种基于时序预测的容器调度方法
CN112905343A (zh) * 2021-02-09 2021-06-04 重庆大学 一种工业云环境下基于负载特性的资源调度系统
CN113051130A (zh) * 2021-03-19 2021-06-29 南京航空航天大学 结合注意力机制的lstm网络的移动云负载预测方法及系统
CN113128783A (zh) * 2021-05-06 2021-07-16 大连理工大学 一种基于图迁移学习的交通预测方法

Non-Patent Citations (4)

* Cited by examiner, † Cited by third party
Title
SHANGGUANG WANG: ""A Survey on Service Migration in Mobile Edge Computing"", 《IEEE ACCESS》, vol. 6, 18 April 2018 (2018-04-18), pages 23511 - 23528, XP055762541, DOI: 10.1109/ACCESS.2018.2828102 *
云淡风轻ING: ""Docker容器热迁移技术(基于CRIU实现)"", Retrieved from the Internet <URL:《https://blog.csdn.net/qq_37076942/article/details/111571322》> *
彭成磊: ""云数据中心绿色节能需求的虚拟机负载均衡技术研究"", 《中国博士学位论文全文数据库 信息科技辑》, no. 2017, 15 February 2017 (2017-02-15), pages 137 - 6 *
曹壮: ""容器云环境下的负载预测与容器调度技术研究"", 《中国优秀硕士学位论文全文数据库 信息科技辑》, no. 2023, 15 July 2023 (2023-07-15), pages 139 - 152 *

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115118729A (zh) * 2022-06-28 2022-09-27 中国电信股份有限公司 容器迁移方法、系统和存储介质

Also Published As

Publication number Publication date
CN113946438B (zh) 2024-04-30

Similar Documents

Publication Publication Date Title
Liu et al. A speculative approach to spatial‐temporal efficiency with multi‐objective optimization in a heterogeneous cloud environment
CN109564568B (zh) 用于分布式数据集索引的装置、方法和机器可读存储介质
US11715025B2 (en) Method for forecasting distributed resource utilization in a virtualization environment
CN103631657B (zh) 一种基于MapReduce的任务调度方法
EP3688681A1 (en) Gradient-based auto-tuning for machine learning and deep learning models
CN113574325B (zh) 通过选择控制设置来控制环境的方法和系统
Junaid et al. Modeling an optimized approach for load balancing in cloud
Ruan et al. Workload time series prediction in storage systems: a deep learning based approach
Abdel‐Basset et al. IEGA: an improved elitism‐based genetic algorithm for task scheduling problem in fog computing
US20180131516A1 (en) Stable data-processing in a distributed computing environment
Khan et al. Optimizing hadoop parameter settings with gene expression programming guided PSO
CN113467944B (zh) 面向复杂软件系统的资源部署装置及方法
CN111325310A (zh) 一种数据预测方法、装置及存储介质
CN111176784A (zh) 一种基于极限学习机和蚁群系统的虚拟机整合方法
CN111966495A (zh) 数据处理方法和装置
CN112000460A (zh) 一种基于改进贝叶斯算法的服务扩缩容的方法及相关设备
CN113946438B (zh) 基于容器整合的在线迁移调度方法、装置、设备和系统
Feng et al. A multiobjective migration algorithm as a resource consolidation strategy in cloud computing
Tariq et al. Modelling and prediction of resource utilization of hadoop clusters: A machine learning approach
Aslam et al. Using artificial neural network for VM consolidation approach to enhance energy efficiency in green cloud
More et al. Energy-aware VM migration using dragonfly–crow optimization and support vector regression model in Cloud
CN112214928A (zh) 一种低压配电网多源数据处理与融合方法及系统
Li et al. The extreme counts: modeling the performance uncertainty of cloud resources with extreme value theory
Li et al. Efficient multi-attribute precedence-based task scheduling for edge computing in geo-distributed cloud environment
Yang et al. Energy saving strategy of cloud data computing based on convolutional neural network and policy gradient algorithm

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
GR01 Patent grant
GR01 Patent grant