基于容器的业务融合部署的资源调度方法及装置与流程

文档序号:15281598发布日期:2018-08-28 23:36阅读:142来源:国知局

本发明涉及业务融合技术领域,尤其涉及一种基于容器的业务融合部署的资源调度方法及装置。



背景技术:

目前,现有的ict(informationandcommunicationtechnology,信息和通信技术)融合方案一般基于物理设备或者虚拟机中,例如通过物理模块、芯片之间的通信机制和接口,实现ict融合,这种方法涉及到物理设备,业务逻辑和物理设备相关联,灵活性差,而硬件设备的扩缩容涉及到设备的重新采购、入场等,时间长。

基于虚拟机的ict融合方案中,虚拟机需要为每个应用分配单独的操作系统,实例规模相对较大;其次,虚拟机的启动速度在分钟级,启动速度较慢,导致在ict融合中实施动态扩容时,耗时较多;此外,虚拟机的镜像一般比较大,gb级别,导致在ict资源分配时花费较长的迁移时间。

综上所述,在ict融合时,如何实现业务的快速部署和启动,灵活地实现动态伸缩和迁移,提高资源利用率是亟待解决的问题。



技术实现要素:

本发明实施例提供一种基于容器的业务融合部署的资源调度方法及装置,用于解决现有技术中业务部署和启动时间长,资源扩缩容灵活性较差以及资源利用率较低等问题。

本发明实施例提供一种基于容器的业务融合部署的资源调度方法,包括:

在业务部署时,针对每一待部署业务,根据该待部署业务类型为其分配相应的标识信息,所述标识信息携带有该待部署业务的优先级;

在业务运行过程中,如果检测到任一业务负载发生变化时,则根据发生变化业务的标识信息携带的优先级以及负载变化信息进行资源调度。

本发明实施例提供一种基于容器的业务融合部署的资源调度装置,包括:

分配单元,用于在业务部署时,针对每一待部署业务,根据该待部署业务类型为其分配相应的标识信息,所述标识信息携带有该待部署业务的优先级;

资源调度单元,用于在业务运行过程中,如果检测到任一业务负载发生变化时,则根据发生变化业务的标识信息携带的优先级以及负载变化信息进行资源调度。

本发明有益效果:

本发明实施例提供的基于容器的业务融合部署的资源调度方法及装置,基于容器自身启动时间快等特点,在进行业务部署时,针对每一待部署业务,根据该待部署业务类型为其分配相应的标识信息,所述标识携带有该待部署业务的优先级;在为每一待部署业务添加了优先级之后,在业务运行过程中,如果检测到任一业务负载发生变化时,则根据发生变化业务的标识信息携带的优先级以及负载变化信息进行资源调度,不仅实现了业务的快速部署和启动,还根据业务的优先级以及业务负载变化动态调整业务的相应业务的实例数量,实现了资源的动态扩缩容和资源的动态迁移,更提高了资源利用率。

本发明的其它特征和优点将在随后的说明书中阐述,并且,部分地从说明书中变得显而易见,或者通过实施本发明而了解。本发明的目的和其他优点可通过在所写的说明书、权利要求书、以及附图中所特别指出的结构来实现和获得。

附图说明

此处所说明的附图用来提供对本发明的进一步理解,构成本发明的一部分,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:

图1为现有技术中容器与虚拟机的结构对比图;

图2为本发明实施例中基于容器的业务融合部署的资源调度的总体架构图;

图3a为本发明实施例中基于容器的业务融合部署的资源调度方法的实施流程示意图;

图3b为本发明实施例中基于容器的业务融合部署的资源调度方法中ct后和it业务的优先级示意图;

图3c为本发明实施例中基于容器的业务融合部署的资源调度方法中ct业务负载增加时资源调度方法的实施流程示意图;

图3d为本发明实施例中基于容器的业务融合部署的资源调度方法中ct业务负载减少时资源调度方法的实施流程示意图;

图4为本发明实施例中基于容器的业务融合部署的资源调度装置的结构示意图。

具体实施方式

本发明实施例提供的资源调度方法是基于容器实现的,为此,首先介绍一下nfv(networkfunctionvirtualization,网络功能虚拟化)技术和容器基本原理。

nfv技术,通过使用x86等通用性硬件及虚拟化技术,来承载很多功能的软件处理,从而减低网络昂贵的设备成本,同时还可以通过软硬件解耦及功能抽象,使网络设备功能不再依赖于专用的硬件,资源可以充分灵活共享,实现新业务的快速开发和部署,并基于实际业务需求进行自动部署、弹性伸缩、故障隔离和自愈等。

容器(container)是一种轻量级的虚拟化技术,以docker技术最具代表性,作为一种部署应用程序的全新方式。参考图1所示,从图1中可看出,与虚拟机相比,每个虚拟机中都需要包含完整的操作系统,而每个容器会共享相同的主机操作系统内核,由此可知,单个物理服务器能承载多个容器,以及采用容器技术并不需要为每个应用分配单独的操作系统,实现规模更小,从而使得容器拥有更高的资源使用效率。

需要说明的是,图1中的英文注释参考表1所示:

表1

此外,容器技术启动时间较快,一般达到秒级或毫秒级,而虚拟机起点时间一般在分钟级,因此,在动态扩容时,采用容器技术需要的扩容时间较短。

综上可知,相对于vnf(virtualnetworkfunction,虚拟网络功能)部署在虚拟机中,基于容器部署并结合nfc,即采用nfv+container=nfc的部署方式,可以快速实现业务部署和启动。

为了解决现有技术中存在的业务的部署和启动时间较长,资源利用率较低问题,同时为了现有技术中采用物理设备实现扩缩容时,物理设备灵活性差以及重新采购带来的成本问题。本发明实施例提供的基于容器的业务融合部署的资源调度方案中,在现有的物理设备上利用容器,并结合网络功能虚拟化技术,对待部署业务进行部署,实现了业务的快速部署和启动。此外,在对业务进行部署时,针对每一待部署业务,根据该待部署业务类型为其分配相应的标识信息,所述标识信息携带有该待部署业务的优先级,在业务运行过程中,当任一业务负载发生变化时,根据发生变化业务的标识信息携带的优先级以及负载变化信息进行资源调度,实现了资源的动态迁移或扩缩容,且提高了资源利用率。

以下结合说明书附图对本发明的优选实施例进行说明,应当理解,此处所描述的优选实施例仅用于说明和解释本发明,并不用于限定本发明,并且在不冲突的情况下,本发明中的实施例及实施例中的特征可以相互组合。

实施例一

如图2所示,为本发明实施例提供的基于容器的业务部署的资源调度的总体架构图,主要包括:cnf(containerizednetworkfunction,容器化的nfv网元)、cia(containerizeditapplication,容器化的it应用)、容器管理节点(master)和计算节点(computenode),参考图2可知,cia应用hadoop、文本检索(图2中的textsearch)等;所述容器管理节点master,用于多种业务的容器资源管理和调度;计算节点computenode,用于在计算节点上,运行多个业务容器。

需要说明的是,图2中的中英文对照表如表2所示:

表2

具体实现过程:将vnf容器化,以容器实现nfvi(nfvinfrastruction,网络功能虚拟化基础设施),以容器管理实现vim(virtualisedinfrastructionmanagement,虚拟基础设施管理)。容器化的业务在同一平台内融合部署,共享资源,动态进行资源调度,提高资源利用率。根据预先设置的业务相关资源策略,触发业务的水平扩展和收缩。当ct业务负载上升到预设阈值时,触发it业务释放部分资源,ct业务核心模块水平扩展。当ct业务负载减少时,释放ct业务所占的资源,将资源分配给it业务进行离线业务处理。

实施例二

基于实施例一中提供的资源调度架构,本发明实施例二提供一种基于容器的业务融合部署的资源调度方法,其实施流程示意图如图3a所示,可以包括以下步骤:

s11、在业务部署时,针对每一待部署业务,根据该待部署业务类型为其分配相应的标识信息。

其中,所述标识信息携带有该待部署业务的优先级。具体地,所述待部署业务包括通信技术ct(communicationtechnology)业务和信息技术it(informationtechnology)业务,其中,所述ct业务标识信息携带的优先级高于所述it业务标识信息携带的优先级。

由于ct业务,如nfvims(ipmultimediasubsystem,ip多媒体子系统),一般属于在线业务,实时性要求高,忙时需要大量资源处理ct业务请求。而it业务中涉及大量分析型业务,如大数据处理等业务,一般属于离线处理业务,实时性要求较低,如果将二者在同一资源平台上融合部署,可以充分利用其互补特性,在ct业务量增加时,将系统资源平台上大量资源分配给ct业务,减少it业务占用的资源;反之,当ct业务处于闲时,则减少ct业务占用资源,将系统资源平台上大量资源分配给it业务进行离线分析处理。

由此可知,需要将ct业务的优先级设置成高于it业务的优先级。

较佳地,所述标识信息还携带有待部署业务的业务完成时间和待部署业务的最少实例数量。具体可参考图3b。图3b中,ct1和ct2为ct业务,it1~it5为it业务,以ct1(p0,na,3)为例进行说明,“p0”为ct1业务的优先级,“na”为ct1的业务完成时间,由于ct业务为在线业务,不存在完成时间,所以用na表示;“3”表示ct1业务的最少实例数量。

从图3b中可以看出,ct1的优先级为p0,ct2的优先级为p1,it1和it2的优先级为pk,it3和it4的优先级为pk-1,it5的优先级为pk-2,其中,p0的优先级最高,pk的优先级最低。

s12、在业务运行过程中,如果检测到任一业务负载发生变化时,则根据发生变化业务的标识信息携带的优先级以及负载变化信息进行资源调度。

具体实施时,在对ct和it业务进行资源分配时,按照业务的优先级进行分配,比如,如果系统同时收到ct1业务和it1业务发送的资源请求,则系统会优先对ct1业务进行资源分配。

具体地,所述负载变化可以包括负载增加或负载减少,针对不同的负载变化,本发明实施例二提供了相应的资源调度方法,以下详细介绍之:

第一种方式:

在业务运行过程中,如果检测到任一ct业务负载增加时,按照图3c所示的流程为ct业务进行资源调度,可以包括以下步骤:

s21、确定承载该ct业务负载增加所需的资源数量。

s22、判断系统剩余资源是否小于承载该ct业务负载增加所需的资源数量,如果是,则执行步骤s23;如果否,则执行步骤s26。

s23、按照优先级由低到高的顺序,从优先级最低的it业务开始,减少相应优先级的it业务的实例数量,并为所述ct业务增加相应的实例数量。

具体实施时,如果相同优先级的it业务包含多个,则从优先级最低的it业务开始,针对同一优先级的所有it业务,按照业务完成剩余时间由长到短的顺序,减少相应it业务的实例数量,直至减少至该it业务的最少实例数量,其中,所述业务完成剩余时间为在业务运行过程中根据业务完成时间和业务运行时间计算得到的。

参考图3b所示,以运行两个ct业务ct1、ct2和5个it业务it1~it5、以及ct1业务负载增加为例进行说明,当检测到ct1业务负载增加时,根据it1~it5业务标识信息中的优先级,确定出pk对应的业务的优先级最低。因此,从pk对应的业务开始,减少该业务的实例数量。当pk对应的业务的实例数量减少至该业务的最少实例数量时,开始减少pk-1对应业务的实例数量。

具体地,在减少pk对应的业务的实例数量时,由于pk对应的业务包含it1和it2两个业务,因此,根据it1和it2两个业务的业务完成剩余时间由长到短的顺序,减少相应it业务的实例数量。从图3b中可知,it1(pk,235,3)的业务完成时间为235和it2(pk,280,1)的业务完成时间为280,分别根据业务完成时间和业务运行时间确定it1业务的业务完成剩余时间和it2业务的业务完成剩余时间。假设it2业务的业务完成剩余时间大于it1业务的业务完成剩余时间,则减少it2业务的实例数量,并相应增加ct1业务的实例数量。

较佳地,在减少it2业务的实例数量时,还需要判断it2业务的剩余实例数量是否大于该it2业务的最少实例数量。参考图3b,即判断it2业务的剩余实例数量是否大于1,如果大于1则继续减少,否则停止减少it2业务的实例数量,开始减少it1业务的实例数量。

s24、判断减少的实例所释放的资源数量是否满足所述ct业务负载增加所需的资源数量,如果是,则执行步骤s25;否则,继续执行步骤s23。

具体实施时,在减少it2业务的实例数量时,还需要判断it2业务减少的实例所释放的资源数量是否满足所述ct1业务负载增加所需的资源数量,如果满足,则执行步骤s25;否则执行步骤s23继续减少it2业务的实例数量,直至减少至it2业务的最少实例数量。如果还不满足,则继续减少it1业务的实例数量,直至减少至it1业务的最少实例数量。如果还不满足,则减少pk-1对应的it业务的实例数量。以此类推,直至满足减少的实例所释放的资源数量是否满足所述ct1业务负载增加所需的资源数量。

s25、停止减少相应优先级的it业务的实例数量。

s26、利用系统剩余资源为该ct业务调度承载该ct业务负载增加所需的资源数量。

当检测到ct业务负载增加时,通过执行步骤s21~s26,动态实现对it业务的缩容处理,同时实现了对ct业务的扩容处理,完成了资源的扩缩容和动态迁移,提高了资源的利用效率。

第二种方式:

在业务运行过程中,如果检测到任一ct业务负载减少时,按照图3d所示的流程为it业务进行资源调度,可以包括以下步骤:

s31、根据该ct业务减少的负载所占用的实例数量,增加相应数量的系统资源。

具体实施时,参考图3b所示,以运行两个ct业务ct1、ct2和5个it业务it1~it5、以及ct1业务负载减少为例进行说明,在检测到ct1业务负载减少时,则确定该ct1业务减少的负载所占用的实例数量,并根据该ct1业务减少的负载所占用的实例数量,增加相应数量的系统资源,并根据it业务的需求为it业务提高相应的资源。

s32、针对每一it业务,按照优先级由高到低的顺序,从优先级最高的it业务开始,判断相应优先级的it业务当前运行的实例数量是否满足在业务完成剩余时间内完成该it业务所需的实例数量,如果不满足,则执行步骤s33;否则,继续执行步骤s32。

具体实施时,如果相同优先级的it业务包含多个,则从优先级最高的it业务开始,针对同一优先级的所有it业务,按照业务完成剩余时间由短到长的顺序,从业务完成剩余时间最短的it业务开始,判断相应的it业务当前运行的实例数量是否满足在业务完成剩余时间内完成该it业务所需的实例数量。

在步骤s31为系统增加资源后,开始为it业务分配相应资源,具体分配过程为:参考图3b所示,针对图3b中所有it业务it1~it5,可知pk-2对应的业务it5优先级最高,则首先判断it5业务当前运行的实例数量是否满足在业务完成剩余时间内完成该it5业务所需的实例数量,如果满足,则继续判断pk-1和pk对应的业务当前运行的实例数量是否满足在业务完成剩余时间内完成该it4业务所需的实例数量。

在判断pk-1对应的业务是否满足时,由于pk-1对应的业务包含it3(pk-1,128,1)和it4(pk-1,156,3)两个,则根据it3和it4这两个业务,业务剩余完成时间由短到长的顺序,从业务完成剩余时间最短的it业务开始,判断相应的it业务当前运行的实例数量是否满足在业务完成剩余时间内完成该it业务所需的实例数量。其中,在确定it业务的业务完成剩余时间时,根据该it业务的业务完成时间和该it业务的业务运行时间确定。假设确定出it4的业务完成剩余时间大于it3的业务完成剩余时间,则先判断it3业务当前运行的实例数量是否满足在业务完成剩余时间内完成该it业务所需的实例数量,如果不满足,则执行步骤s33。如果满足,则判断it4业务当前运行的实例数量是否满足在业务完成剩余时间内完成该it业务所需的实例数量。

s33、根据增加的系统资源数量增加该it业务的实例数量,直至运行的实例数量满足在业务完成剩余时间内完成该it业务所需的实例数量或者系统剩余资源数量不足。

具体地,在步骤s32确定出某一优先级对应的it业务当前运行的实例数量无法满足在业务完成剩余时间内完成该it业务所需的实例数量时,则根据增加的系统资源数量增加该it业务的实例数量,直至运行的实例数量满足在业务完成剩余时间内完成该it业务所需的实例数量。

需要说明的是,在根据增加的系统资源数量增加该it业务的实例数量时,需判断当前系统资源是否大于预设资源阈值,如果大于,继续增加该it业务的实例数量;如果不大于,则停止增加该it业务的实例数量。

当检测到ct业务负载减少时,通过执行步骤s31~s33,动态实现对对ct业务的缩容处理,同时实现了it业务的扩容处理,完成了资源的扩缩容和动态迁移,提高了资源的利用效率。

优选地,针对所有it业务,如果确定出处于任一优先级的it业务的业务完成剩余时间减少至预设阈值时,则将该it业务的优先级提升至该预设阈值对应的优先级。

参考图3b所示,如果it1的业务完成剩余时间减少至预设阈值,且该预设阈值对应的优先级为pk-1,则将it1业务的优先级提升至pk-1。

本发明实施例提供的基于容器的业务融合部署的资源调度方法,在对业务进行部署时,针对每一待部署业务,根据该待部署业务类型为其分配相应的标识信息,其中,所述标识信息携带有该待部署业务的优先级,在这些业务运行时,如果检测到ct业务负载增加时,则根据该ct业务标识信息携带的优先级以及负载增加所需的资源数量,相应减少it业务的实例数量,为该ct业务调度负载增加所需的资源数量;如果检测到ct业务负载减少时,则确定该减少的负载所占用的资源数量,根据所有it业务标识信息携带的优先级,为相应it业务增加资源数量,实现了资源的动态扩缩容和动态迁移,提高了资源利用效率。

实施例三

基于同一发明构思,本发明实施例中还提供了一种基于容器的业务融合部署的资源调度装置,由于上述装置解决问题的原理与基于容器的业务融合部署的资源调度方法相似,因此上述装置的实施可以参见方法的实施,重复之处不再赘述。

如图4所示,为本发明实施例提供的基于容器的业务融合部署的资源调度装置的结构示意图,包括分配单元41和资源调度单元42,其中:

分配单元41,用于在业务部署时,针对每一待部署业务,根据该待部署业务类型为其分配相应的标识信息,所述标识信息携带有该待部署业务的优先级;

资源调度单元42,用于在业务运行过程中,如果检测到任一业务负载发生变化时,则根据发生变化业务的标识信息携带的优先级以及负载变化信息进行资源调度。

具体实施时,所述待部署业务包括通信技术ct业务和信息技术it业务,其中,所述ct业务标识信息携带的优先级高于所述it业务标识信息携带的优先级。

较佳地,所述标识信息还携带有待部署业务的业务完成时间和待部署业务的最少实例数量。

具体实施时,所述资源调度单元42,具体包括确定子单元421、处理子单元422,其中:

确定子单元421,用于在业务运行过程中,如果检测到任一ct业务负载增加时,确定承载该ct业务负载增加所需的资源数量;

处理子单元422,用于如果确定出系统剩余资源小于承载该ct业务负载增加所需的资源数量,则按照优先级由低到高的顺序,从优先级最低的it业务开始,减少相应优先级的it业务的实例数量,并为所述ct业务增加相应的实例数量,直至减少的实例所释放的资源数量满足所述ct业务负载增加所需的资源数量。

优选地,所述处理子单元422,具体用于如果相同优先级的it业务包含多个,则从优先级最低的it业务开始,针对同一优先级的所有it业务,按照业务完成剩余时间由长到短的顺序,减少相应it业务的实例数量,直至减少至该it业务的最少实例数量,其中,所述业务完成剩余时间为在业务运行过程中根据业务完成时间和业务运行时间计算得到的。

具体实施时,所述资源调度单元42,还包括第一增加子单元423、判断子单元424和第二增加子单元425,其中:

所述第一增加子单元423,用于如果检测到任一ct业务负载减少时,根据该ct业务减少的负载所占用的实例数量,增加相应数量的系统资源;

判断子单元424,用于针对每一it业务,按照优先级由高到低的顺序,从优先级最高的it业务开始,判断相应优先级的it业务当前运行的实例数量是否满足在业务完成剩余时间内完成该it业务所需的实例数量;

第二增加子单元425,用于如果所述判断子单元判断结果为否,则根据增加的系统资源数量增加该it业务的实例数量,直至运行的实例数量满足在业务完成剩余时间内完成该it业务所需的实例数量或者系统剩余资源数量不足。

优选地,所述判断子单元424,具体用于如果相同优先级的it业务包含多个,则从优先级最高的it业务开始,针对同一优先级的所有it业务,按照业务完成剩余时间由短到长的顺序,从业务完成剩余时间最短的it业务开始,判断相应的it业务当前运行的实例数量是否满足在业务完成剩余时间内完成该it业务所需的实例数量。

具体实施时,所述装置,还包括确定单元43,其中:

所述确定单元43,用于针对所有it业务,如果确定出处于任一优先级的it业务的业务完成剩余时间减少至预设阈值时,则将该it业务的优先级提升至该预设阈值对应的优先级。

为了描述的方便,以上基于容器的业务融合部署的资源调度装置的各部分按照功能划分为各模块(或单元)分别描述。当然,在实施本发明时可以把各模块(或单元)的功能在同一个或多个软件或硬件中实现。

本发明的实施例所提供的基于容器的业务融合部署的资源调度装置可通过计算机程序实现。本领域技术人员应该能够理解,上述的模块划分方式仅是众多模块划分方式中的一种,如果划分为其他模块或不划分模块,只要基于容器的业务融合部署的资源调度装置具有上述功能,都应该在本发明的保护范围之内。

本发明实施例提供的基于容器的业务融合部署的资源调度方法及装置,基于容器自身启动时间快等特点,在进行业务部署时,针对每一待部署业务,根据该待部署业务类型为其分配相应的标识信息,所述标识携带有该待部署业务的优先级;在为每一待部署业务添加了优先级之后,在业务运行过程中,如果检测到任一业务负载发生变化时,则根据发生变化业务的标识信息携带的优先级以及负载变化信息进行资源调度,不仅实现了业务的快速部署和启动,还根据业务的优先级以及业务负载变化动态调整业务的相应业务的实例数量,实现了资源的动态扩缩容和资源的动态迁移,更提高了资源利用率。

本领域内的技术人员应明白,本发明的实施例可提供为方法、系统、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、cd-rom、光学存储器等)上实施的计算机程序产品的形式。

本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。

这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。

这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。

尽管已描述了本发明的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例做出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本发明范围的所有变更和修改。

显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。

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