容器转移方法及系统与流程

文档序号:21361583发布日期:2020-07-04 04:35阅读:393来源:国知局
容器转移方法及系统与流程

本发明涉及资源分配技术领域,具体地,涉及一种容器转移方法及系统。



背景技术:

目前云计算在互联网及金融行业已广泛应用,随着入云应用的逐渐增加,云计算集群规模越来越大,集群资源的分配及利用已成为重点关注内容。资源利用率不高的其中一个主要原因是集群资源分布不均、集群资源碎片化严重,增加了不必要的运维硬件成本。如何提高资源分配率及利用率是云计算资源管理的重点和难点。



技术实现要素:

本发明实施例的主要目的在于提供一种容器转移方法及系统,以有效避免资源碎片化,提高资源利用率,降低公司的硬件资源成本。

为了实现上述目的,本发明实施例提供一种容器转移方法,包括:

根据预先获取的中央处理器权重比、宿主机的实际使用资源和宿主机的规格确定宿主机的宿主机离散度和宿主机所在集群的集群离散度;

当集群离散度小于预设的离散上限时,确定接收容器宿主机和转移容器宿主机;

将转移容器宿主机中的容器转移到接收容器宿主机上,回收转移容器宿主机。

本发明实施例还提供一种容器转移系统,包括:

离散度确定单元,用于根据预先获取的中央处理器权重比、宿主机的实际使用资源和宿主机的规格确定宿主机的宿主机离散度和宿主机所在集群的集群离散度;

宿主机确定单元,用于当集群离散度小于预设的离散上限时,确定接收容器宿主机和转移容器宿主机;

宿主机转移回收单元,用于将转移容器宿主机中的容器转移到接收容器宿主机上,回收所移容器宿主机。

本发明实施例还提供一种计算机设备,包括存储器、处理器及存储在存储器上并在处理器上运行的计算机程序,处理器执行计算机程序时实现所述的容器转移方法的步骤。

本发明实施例还提供一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现所述的容器转移方法的步骤。

本发明实施例的容器转移方法及系统先确定宿主机离散度和集群离散度,当集群离散度小于预设的离散上限时确定接收容器宿主机和转移容器宿主机,最后将转移容器宿主机中的容器转移到接收容器宿主机上,回收转移容器宿主机,可以有效避免资源碎片化,提高资源利用率,降低公司的硬件资源成本。

附图说明

为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

图1是本发明实施例中容器转移方法的流程图;

图2是本发明实施例中确定接收容器宿主机与容器的相似度的流程图;

图3是本发明实施例中容器转移系统的结构框图;

图4是本发明实施例中计算机设备的结构框图。

具体实施方式

下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

本领域技术人员知道,本发明的实施方式可以实现为一种系统、装置、设备、方法或计算机程序产品。因此,本公开可以具体实现为以下形式,即:完全的硬件、完全的软件(包括固件、驻留软件、微代码等),或者硬件和软件结合的形式。

鉴于现有技术资源利用率不高,资源碎片化严重,增加了不必要的运维硬件成本,本发明实施例提供一种容器转移方法,以有效避免资源碎片化,提高资源利用率,降低公司的硬件资源成本。以下结合附图对本发明进行详细说明。

图1是本发明实施例中容器转移方法的流程图。如图1所示,容器转移方法包括:

s101:根据预先获取的中央处理器权重比、宿主机的实际使用资源和宿主机的规格确定宿主机的宿主机离散度和宿主机所在集群的集群离散度。

其中,可以通过宿主机上部署的开源监控组件普罗米修斯(prometheus)采集宿主机的实际使用资源。宿主机的实际使用资源包括中央处理器使用资源和内存使用资源。宿主机的规格包括中央处理器规格和内存规格。

例如,宿主机的中央处理器规格为8c(核心),内存规格为16gb(吉字节);宿主机的中央处理器使用资源为4.196c,内存使用资源为9.6gb。

一实施例中,集群离散度为该集群全部宿主机的宿主机离散度的和与该集群宿主机个数的商。

可以通过如下公式确定宿主机离散度:

μ为宿主机离散度,x'为中央处理器使用资源,x为中央处理器规格,y'为内存使用资源,y为内存规格,α为中央处理器权重比,可以为0.5。

s102:当集群离散度小于预设的离散上限时,确定接收容器宿主机和转移容器宿主机。

一实施例中,当集群离散度大于或等于离散上限则需要将空闲资源池的宿主机添加至集群中,保证集群资源冗余率处于正常水平,满足应用容器临时弹性扩容需求。

一实施例中,确定接收容器宿主机和转移容器宿主机包括:

将宿主机离散度位于离散下限和预设的离散上限之间的宿主机作为接收容器宿主机;

例如,当宿主机离散度μ大于离散下限且小于离散上限时,将该宿主机作为接收容器宿主机。当宿主机离散度μ大于离散上限时,表明该宿主机资源集中,无需接收转移的容器。

将宿主机离散度小于或等于离散下限的宿主机作为转移容器宿主机。

例如,当宿主机离散度μ小于或等于离散下限时,将该宿主机作为转移容器宿主机。

s103:将转移容器宿主机中的容器转移到接收容器宿主机上,回收转移容器宿主机。

其中,根据宿主机离散度将转移容器宿主机中的容器转移到接收容器宿主机可以实时调整容器部署情况,有效避免资源碎片化,提高资源利用率。转移容器宿主机会被回收至空闲资源池,为线上集群资源的弹性扩缩容提供有力依据。

图1所示的容器转移方法的执行主体为计算机。由图1所示的流程可知,本发明实施例的容器转移方法先确定宿主机离散度和集群离散度,当集群离散度小于预设的离散上限时确定接收容器宿主机和转移容器宿主机,最后将转移容器宿主机中的容器转移到接收容器宿主机上,回收转移容器宿主机,可以有效避免资源碎片化,提高资源利用率,降低公司的硬件资源成本。

一实施例中,在执行s101之前还包括:根据宿主机的实际使用资源和宿主机的规格确定宿主机的剩余资源;根据宿主机的剩余资源和容器的规格过滤不满足容器规格的宿主机。

其中,剩余资源包括中央处理器剩余量和内存剩余量。

例如,宿主机的中央处理器规格为8c,宿主机的中央处理器使用资源为4.196c,则中央处理器剩余量为3.804c。宿主机的内存规格为16gb,宿主机的内存使用资源为9.6gb,则内存剩余量为6.4gb。容器的中央处理器规格为2c,容器的内存规格为4gb。当宿主机的中央处理器剩余量大于容器的中央处理器规格且宿主机的内存剩余量大于容器的内存规格时,保留该宿主机,否则该宿主机不满足容器规格,对该宿主机进行排除。

一实施例中,在执行s103之前还包括:

根据接收容器宿主机的实际使用资源和接收容器宿主机的规格确定接收容器宿主机的剩余资源;根据接收容器宿主机的剩余资源和容器的规格确定接收容器宿主机与容器的相似度。

图2是本发明实施例中确定接收容器宿主机与容器的相似度的流程图。如图2所示,确定接收容器宿主机与容器的相似度包括:

s201:根据接收容器宿主机的中央处理器剩余量和内存剩余量创建接收容器宿主机向量。

例如,接收容器宿主机向量为x1为中央处理器剩余量,y1为内存剩余量。

s202:根据容器的中央处理器规格和内存规格创建容器向量。

例如,容器向量为x2为中央处理器规格,y2为内存规格。

s203:将接收容器宿主机向量与容器向量夹角的余弦值作为接收容器宿主机与容器的相似度。

其中,相似度的表达式如下:

将转移容器宿主机中的容器转移到接收容器宿主机上包括:将相似度按由大到小的顺序进行排序;将转移容器宿主机中的容器按照排序依次转移到对应的接收容器宿主机上。

例如,接收容器宿主机j的相似度为所有接收容器宿主机中的最大值,接收容器宿主机k的相似度为所有接收容器宿主机中的次大值,则先将转移容器宿主机中的容器转移到接收容器宿主机j上,当接收容器宿主机j的宿主机离散度大于离散上限时,再将转移容器宿主机中的容器转移到接收容器宿主机k上。

综上,本发明实施例的具体流程如下:

1、根据宿主机的实际使用资源和宿主机的规格确定宿主机的剩余资源。

2、根据宿主机的剩余资源和容器的规格过滤不满足容器规格的宿主机。

3、根据预先获取的中央处理器权重比、宿主机的实际使用资源和宿主机的规格确定宿主机的宿主机离散度和宿主机所在集群的集群离散度。

4、当集群离散度小于预设的离散上限时,将宿主机离散度位于离散下限和预设的离散上限之间的宿主机作为接收容器宿主机,将宿主机离散度小于或等于离散下限的宿主机作为转移容器宿主机。

5、根据接收容器宿主机的中央处理器剩余量和内存剩余量创建接收容器宿主机向量。

6、根据容器的中央处理器规格和内存规格创建容器向量。

7、将接收容器宿主机向量与容器向量夹角的余弦值作为接收容器宿主机与容器的相似度。

8、将相似度按由大到小的顺序进行排序。

9、将转移容器宿主机中的容器按照排序依次转移到对应的接收容器宿主机上,回收转移容器宿主机。

综上,本发明实施例的容器转移方法先确定宿主机离散度和集群离散度,当集群离散度小于预设的离散上限时确定接收容器宿主机和转移容器宿主机,最后将转移容器宿主机中的容器转移到接收容器宿主机上,回收转移容器宿主机,可以有效避免资源碎片化,提高资源利用率,降低公司的硬件资源成本。

基于同一发明构思,本发明实施例还提供了一种容器转移系统,由于该系统解决问题的原理与容器转移方法相似,因此该系统的实施可以参见方法的实施,重复之处不再赘述。

图3是本发明实施例中容器转移系统的结构框图。如图3所示,容器转移系统包括:

离散度确定单元,用于根据预先获取的中央处理器权重比、宿主机的实际使用资源和宿主机的规格确定宿主机的宿主机离散度和宿主机所在集群的集群离散度;

宿主机确定单元,用于当集群离散度小于预设的离散上限时,确定接收容器宿主机和转移容器宿主机;

宿主机转移回收单元,用于将转移容器宿主机中的容器转移到接收容器宿主机上,回收所移容器宿主机。

在其中一种实施例中,宿主机确定单元具体用于:

将宿主机离散度位于离散下限和预设的离散上限之间的宿主机作为接收容器宿主机;

将宿主机离散度小于或等于离散下限的宿主机作为转移容器宿主机。

在其中一种实施例中,还包括:

剩余资源确定单元,用于根据接收容器宿主机的实际使用资源和接收容器宿主机的规格确定接收容器宿主机的剩余资源;

相似度单元,用于根据接收容器宿主机的剩余资源和容器的规格确定接收容器宿主机与容器的相似度。

在其中一种实施例中,宿主机转移回收单元具体用于:

将相似度按由大到小的顺序进行排序;

将转移容器宿主机中的容器按照排序依次转移到对应的接收容器宿主机上。

在其中一种实施例中,剩余资源包括中央处理器剩余量和内存剩余量;容器的规格包括容器的中央处理器规格和容器的内存规格;

相似度单元具体用于:

根据接收容器宿主机的中央处理器剩余量和内存剩余量创建接收容器宿主机向量;

根据容器的中央处理器规格和内存规格创建容器向量;

将接收容器宿主机向量与容器向量夹角的余弦值作为接收容器宿主机与容器的相似度。

综上,本发明实施例的容器转移系统先确定宿主机离散度和集群离散度,当集群离散度小于预设的离散上限时确定接收容器宿主机和转移容器宿主机,最后将转移容器宿主机中的容器转移到接收容器宿主机上,回收转移容器宿主机,可以有效避免资源碎片化,提高资源利用率,降低公司的硬件资源成本。

本发明实施例还提供能够实现上述实施例中的容器转移方法中全部步骤的一种计算机设备的具体实施方式。图4是本发明实施例中计算机设备的结构框图,参见图4,所述计算机设备具体包括如下内容:

处理器(processor)401和存储器(memory)402。

所述处理器401用于调用所述存储器402中的计算机程序,所述处理器执行所述计算机程序时实现上述实施例中的容器转移方法中的全部步骤,例如,所述处理器执行所述计算机程序时实现下述步骤:

根据预先获取的中央处理器权重比、宿主机的实际使用资源和宿主机的规格确定宿主机的宿主机离散度和宿主机所在集群的集群离散度;

当集群离散度小于预设的离散上限时,确定接收容器宿主机和转移容器宿主机;

将转移容器宿主机中的容器转移到接收容器宿主机上,回收转移容器宿主机。

综上,本发明实施例的计算机设备先确定宿主机离散度和集群离散度,当集群离散度小于预设的离散上限时确定接收容器宿主机和转移容器宿主机,最后将转移容器宿主机中的容器转移到接收容器宿主机上,回收转移容器宿主机,可以有效避免资源碎片化,提高资源利用率,降低公司的硬件资源成本。

本发明实施例还提供能够实现上述实施例中的容器转移方法中全部步骤的一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,该计算机程序被处理器执行时实现上述实施例中的容器转移方法的全部步骤,例如,所述处理器执行所述计算机程序时实现下述步骤:

根据预先获取的中央处理器权重比、宿主机的实际使用资源和宿主机的规格确定宿主机的宿主机离散度和宿主机所在集群的集群离散度;

当集群离散度小于预设的离散上限时,确定接收容器宿主机和转移容器宿主机;

将转移容器宿主机中的容器转移到接收容器宿主机上,回收转移容器宿主机。

综上,本发明实施例的计算机可读存储介质先确定宿主机离散度和集群离散度,当集群离散度小于预设的离散上限时确定接收容器宿主机和转移容器宿主机,最后将转移容器宿主机中的容器转移到接收容器宿主机上,回收转移容器宿主机,可以有效避免资源碎片化,提高资源利用率,降低公司的硬件资源成本。

以上所述的具体实施例,对本发明的目的、技术方案和有益效果进行了进一步详细说明,所应理解的是,以上所述仅为本发明的具体实施例而已,并不用于限定本发明的保护范围,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

本领域技术人员还可以了解到本发明实施例列出的各种说明性逻辑块(illustrativelogicalblock),单元,和步骤可以通过电子硬件、电脑软件,或两者的结合进行实现。为清楚展示硬件和软件的可替换性(interchangeability),上述的各种说明性部件(illustrativecomponents),单元和步骤已经通用地描述了它们的功能。这样的功能是通过硬件还是软件来实现取决于特定的应用和整个系统的设计要求。本领域技术人员可以对于每种特定的应用,可以使用各种方法实现所述的功能,但这种实现不应被理解为超出本发明实施例保护的范围。

本发明实施例中所描述的各种说明性的逻辑块,或单元,或装置都可以通过通用处理器,数字信号处理器,专用集成电路(asic),现场可编程门阵列或其它可编程逻辑装置,离散门或晶体管逻辑,离散硬件部件,或上述任何组合的设计来实现或操作所描述的功能。通用处理器可以为微处理器,可选地,该通用处理器也可以为任何传统的处理器、控制器、微控制器或状态机。处理器也可以通过计算装置的组合来实现,例如数字信号处理器和微处理器,多个微处理器,一个或多个微处理器联合一个数字信号处理器核,或任何其它类似的配置来实现。

本发明实施例中所描述的方法或算法的步骤可以直接嵌入硬件、处理器执行的软件模块、或者这两者的结合。软件模块可以存储于ram存储器、闪存、rom存储器、eprom存储器、eeprom存储器、寄存器、硬盘、可移动磁盘、cd-rom或本领域中其它任意形式的存储媒介中。示例性地,存储媒介可以与处理器连接,以使得处理器可以从存储媒介中读取信息,并可以向存储媒介存写信息。可选地,存储媒介还可以集成到处理器中。处理器和存储媒介可以设置于asic中,asic可以设置于用户终端中。可选地,处理器和存储媒介也可以设置于用户终端中的不同的部件中。

在一个或多个示例性的设计中,本发明实施例所描述的上述功能可以在硬件、软件、固件或这三者的任意组合来实现。如果在软件中实现,这些功能可以存储与电脑可读的媒介上,或以一个或多个指令或代码形式传输于电脑可读的媒介上。电脑可读媒介包括电脑存储媒介和便于使得让电脑程序从一个地方转移到其它地方的通信媒介。存储媒介可以是任何通用或特殊电脑可以接入访问的可用媒体。例如,这样的电脑可读媒体可以包括但不限于ram、rom、eeprom、cd-rom或其它光盘存储、磁盘存储或其它磁性存储装置,或其它任何可以用于承载或存储以指令或数据结构和其它可被通用或特殊电脑、或通用或特殊处理器读取形式的程序代码的媒介。此外,任何连接都可以被适当地定义为电脑可读媒介,例如,如果软件是从一个网站站点、服务器或其它远程资源通过一个同轴电缆、光纤电缆、双绞线、数字用户线(dsl)或以例如红外、无线和微波等无线方式传输的也被包含在所定义的电脑可读媒介中。所述的碟片(disk)和磁盘(disc)包括压缩磁盘、镭射盘、光盘、dvd、软盘和蓝光光盘,磁盘通常以磁性复制数据,而碟片通常以激光进行光学复制数据。上述的组合也可以包含在电脑可读媒介中。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1