CN104283951B - 一种实例迁移的方法、装置及系统 - Google Patents
一种实例迁移的方法、装置及系统 Download PDFInfo
- Publication number
- CN104283951B CN104283951B CN201410515111.6A CN201410515111A CN104283951B CN 104283951 B CN104283951 B CN 104283951B CN 201410515111 A CN201410515111 A CN 201410515111A CN 104283951 B CN104283951 B CN 104283951B
- Authority
- CN
- China
- Prior art keywords
- working node
- application
- node
- working
- migration
- 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.)
- Active
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/1001—Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Supply And Distribution Of Alternating Current (AREA)
- Debugging And Monitoring (AREA)
Abstract
本发明公开了一种实例迁移的方法,所述方法应用于云计算系统的主控节点,所述云计算系统还包括多个工作节点,每个工作节点上分别部署有第一应用的一个或多个实例,所述多个工作节点包括第一工作节点和至少一个第二工作节点,所述方法包括:所述主控节点确定所述每个工作节点上部署的实例的负载量;当所述第一工作节点上部署的实例的负载量满足实例迁移触发条件时,从所述一个或多个第二工作节点迁移所述第一应用的至少一个实例到所述第一工作节点,所述第一工作节点为所述每个工作节点中的一个。本发明实施例提供的实例迁移的方法,可以动态调整实例在各个工作节点的分布,从而提高的实例的利用率。
Description
技术领域
本发明涉及计算机技术领域,具体涉及一种实例迁移的方法、装置及系统。
背景技术
云计算系统的同一个应用的实例通常会部署到多个工作节点,且每个工作节点存在该应用的多个实例,以实现负载分担和高可用性,而且在每个工作节点上该应用的每个实例都拥有独立的运行环境,例如:每个实例可以运行在独立的虚拟机(virtual machine,VM)或者容器内。
每个工作节点上部署的同一应用的至少一个实例通常都负责不同的区域的用户请求,当一个区域的访问量很高时,该工作节点上的至少一个实例的负载过重,导致对用户请求的响应速度过慢,降低了用户体验。
发明内容
为了动态调整应用实例在多个工作节点的部署,优化应用访问性能,提高应用访问的用户体验,本发明实施例提供的一种实例迁移的方法,可以通过实例迁移来实现负载分担,从而提高了实例的利用率,并提高了负载过重的实例对用户请求的响应速度。本发明实施例还提供了相应的装置及系统。
本发明第一方面提供一种实例迁移的方法,所述方法应用于云计算系统的主控节点,所述云计算系统还包括多个工作节点,每个工作节点上分别部署有第一应用的一个或多个实例,所述多个工作节点包括第一工作节点和至少一个第二工作节点,所述方法包括:
所述主控节点确定所述每个工作节点上部署的实例的负载量;
当所述第一工作节点上部署的实例的负载量满足实例迁移触发条件时,从所述一个或多个第二工作节点迁移所述第一应用的至少一个实例到所述第一工作节点,所述第一工作节点为所述每个工作节点中的一个。
结合第一方面,在第一种可能的实现方式中,所述从所述第二工作节点迁移所述第一应用的至少一个实例到所述第一工作节点之前,所述方法还包括:
确定所述每个工作节点对所述第一应用的实例需求数量,所述每个工作节点对实例的实例需求数量为与所述每个工作节点当前的实例负载量相匹配的实例数量;
所述从所述一个或多个第二工作节点迁移所述第一应用的至少一个实例到所述第一工作节点,具体包括:
根据所述每个工作节点对所述第一应用的实例需求数量,从每个第二工作节点迁移空闲实例到所述第一工作节点,所述空闲实例的数量小于或等于所述第一工作节点上所述第一应用的实例缺少数量,所述实例缺少数量为:为满足所述第一工作节点当前所述第一应用的实例负载量而需要增加的实例数量。
结合第一方面第一种可能的实现方式,在第二种可能的实现方式中,所述根据所述每个工作节点对所述第一应用的实例需求数量,从每个第二工作节点迁移空闲实例到所述第一工作节点,具体包括:
根据所述第一工作节点对所述第一应用的实例需求数量和所述第一工作节点上所述第一应用的已有实例数量,确定所述第一工作节点对所述第一应用的所述实例缺少数量;
根据所述每个第二工作节点对所述第一应用的实例需求数量和所述每个第二工作节点上所述第一应用的已有实例数量,确定所述每个第二工作节点对所述第一应用的实例空闲数量;
当所述实例缺少数量大于或等于所述每个第二工作节点的实例空闲数量之和时,将所述每个第二工作节点的空闲实例分别迁移到所述第一工作节点;
当所述实例缺少数量小于所述每个第二工作节点的实例空闲数量之和时,从所述每个第二工作节点的所述空闲实例中迁移所述实例缺少数量个空闲实例到所述第一工作节点。
结合第一方面第一种或第二种可能的实现方式,在第三种可能的实现方式中,所述确定所述每个工作节点对所述第一应用的实例需求数量,具体包括:
获取所述每个工作节点上部署的实例预先配置的一个或多个监控参数以及每个监控参数的权重;
根据所述配置的监控参数和所述监控参数的权重,以及所述每个工作节点上当前部署的所述第一应用的实例总数量,计算得到所述每个工作节点上所述第一应用的实例需求数量。
结合第一方面、第一方面第一种、第二种或第三种可能的实现方式,在第四种可能的实现方式中,所述从所述一个或多个第二工作节点迁移所述第一应用的至少一个实例到所述第一工作节点,包括:
控制所述每个第二工作节点删除所述第一应用的所述至少一个实例,并控制所述第一工作节点新建所述第一应用的所述至少一个实例。
本发明第二方面提供一种实例迁移的装置,所述装置应用于云计算系统,所述云计算系统还多个工作节点,每个工作节点上分别部署有第一应用的一个或多个实例,所述多个工作节点包括第一工作节点和至少一个第二工作节点,所述装置包括:
确定单元,用于确定所述每个工作节点上部署的实例的负载量;
迁移单元,用于当所述确定单元确定的所述第一工作节点上部署的实例的负载量满足实例迁移触发条件时,从所述一个或多个第二工作节点迁移所述第一应用的至少一个实例到所述第一工作节点,所述第一工作节点为所述每个工作节点中的一个。
结合第二方面,在第一种可能的实现方式中,
所述确定单元,还用于确定所述每个工作节点对所述第一应用的实例需求数量,所述每个工作节点对实例的实例需求数量为与所述每个工作节点当前的实例负载量相匹配的实例数量;
所述迁移单元,具体用于根据所述每个工作节点对所述第一应用的实例需求数量,从每个第二工作节点迁移空闲实例到所述第一工作节点,所述空闲实例的数量小于或等于所述第一工作节点上所述第一应用的实例缺少数量,所述实例缺少数量为:为满足所述第一工作节点当前所述第一应用的实例负载量而需要增加的实例数量。
结合第二方面第一种可能的实现方式,在第二种可能的实现方式中,所述迁移单元包括:
第一确定子单元,用于根据所述第一工作节点对所述第一应用的实例需求数量和所述第一工作节点上所述第一应用的已有实例数量,确定所述第一工作节点对所述第一应用的所述实例缺少数量;
第二确定子单元,用于根据所述每个第二工作节点对所述第一应用的实例需求数量和所述每个第二工作节点上所述第一应用的已有实例数量,确定所述每个第二工作节点对所述第一应用的实例空闲数量;
迁移子单元,用于:
当所述第一确定子单元确定的所述实例缺少数量大于或等于所述第二确定子单元确定的所述每个第二工作节点的实例空闲数量之和时,将所述每个第二工作节点的空闲实例分别迁移到所述第一工作节点;
当所述第一确定子单元实例缺少数量小于所述第二确定子单元确定的所述每个第二工作节点的实例空闲数量之和时,从所述每个第二工作节点的所述空闲实例中迁移所述实例缺少数量个空闲实例到所述第一工作节点。
结合第二方面第一种或第二种可能的实现方式,在第三种可能的实现方式中,所述确定单元包括:
获取子单元,用于获取所述每个工作节点上部署的实例预先配置的一个或多个监控参数以及每个监控参数的权重;
计算子单元,用于根据所述获取子单元获取的所述预先配置的监控参数和所述监控参数的权重,以及所述每个工作节点上当前部署的所述第一应用的实例总数量,计算得到所述每个工作节点上所述第一应用的实例需求数量。
结合第二方面、第二方面第一种、第二种或第三种可能的实现方式,在第四种可能的实现方式中,
所述迁移单元,具体用于控制所述每个第二工作节点删除所述第一应用的所述至少一个实例,并控制所述第一工作节点新建所述第一应用的所述至少一个实例。
本发明第三方面提供一种云计算系统,包括:主控节点和多个工作节点,每个工作节点上分别部署有第一应用的一个或多个实例,
所述主控节点用于:确定所述每个工作节点上部署的实例的负载量;
当所述第一工作节点上部署的实例的负载量满足实例迁移触发条件时,从所述一个或多个第二工作节点迁移所述第一应用的至少一个实例到所述第一工作节点,所述第一工作节点为所述每个工作节点中的一个。
本发明实施例所采用的实例迁移的方法应用于云计算系统的主控节点,所述云计算系统还包括多个工作节点,每个工作节点上分别部署有第一应用的一个或多个实例,所述多个工作节点包括第一工作节点和至少一个第二工作节点,所述方法包括:所述主控节点确定所述每个工作节点上部署的实例的负载量;当所述第一工作节点上部署的实例的负载量满足实例迁移触发条件时,从所述一个或多个第二工作节点迁移所述第一应用的至少一个实例到所述第一工作节点,所述第一工作节点为所述每个工作节点中的一个。与现有技术中工作节点上的实例负载过重时,响应速度过慢相比,本发明实施例提供的实例迁移的方法,可以根据每个工作节点上部署的实例的负载量来进行实例迁移,以动态调整实例在各个工作节点的分布,从而提高的实例的利用率,并提高了负载过重的实例对用户请求的响应速度,提高了用户体验。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本发明实施例中实例迁移的方法的一实施例示意图;
图2是本发明实施例中实例迁移的方法的另一实施例示意图;
图3是本发明实施例中实例迁移的方法的另一实施例示意图;
图4是本发明实施例中实例迁移的装置的一实施例示意图;
图5是本发明实施例中实例迁移的装置的另一实施例示意图;
图6是本发明实施例中实例迁移的装置的另一实施例示意图;
图7是本发明实施例中控制设备的一实施例示意图;
图8是本发明实施例中云计算系统的一实施例示意图。
具体实施方式
本发明实施例提供一种实例迁移的方法,可以通过实例迁移来实现负载分担,从而提高了实例的利用率,并提高了负载过重的实例对用户请求的响应速度。本发明实施例还提供了相应的装置及系统。以下分别进行详细说明。
为了使本技术领域的人员更好地理解本发明方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分的实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本发明保护的范围。
本发明实施例中的云计算系统包括:主控节点和工作节点,在集群部署时,所述主控节点通常有一个,但会有备用主控节点,工作节点可以有多个,主控节点可以是与工作节点分离的物理节点,在单机部署时,主控节点和工作节点可以是部署在同一个物理节点上的主控逻辑单元。
本发明实施例中为便于说明,将工作节点划分为第一工作节点和至少一个第二工作节点,实际上每个工作节点的角色是可以互换的,都可以执行本发明实施例中第一工作节点和第二工作节点的功能。而且,本发明实施例中的第一用于并不代表序号,只是为了说明这些实例是为一个应用服务的,例如:微信应用等。
如图1所示,云计算系统中包括主控节点、工作节点1、工作节点2和工作节点3,针对第一应用APP,在工作节点1上部署有实例1、实例2和实例3,在工作节点2上部署有实例4、实例5、实例6,在工作节点3上部署有实例7、实例8、实例9和实例10。实例1至实例10只是为了方便说明而设置的标记,实际上这10个实例是相同的实例,可以没有标记。也就是说针对该第一应用,应用提供商在云计算系统中只购买了这10个实例的相应物理资源。工作节点1、工作节点2和工作节点3可以位于不同的区域,也可以位于相同的区域,但不管位于不同的区域还是位于相同的区域,工作节点1上的三个实例负责响应用户区域A的用户请求,工作节点2上的三个实例负责响应用户区域B的用户请求,工作节点3上的四个实例负责响应用户区域C的用户请求,各区域的用户可以通过互联网向相应工作节点上的实例请求业务。对于同一工作节点上的实例,工作节点可以为这些实例平均分配用户的业务请求,所述在确定同一工作节点上实例的负载量时,只需确定该工作节点上针对第一应用的所有实例的负载量。
当主控节点通过与工作节点之间的交互,确定工作节点2上实例4、实例5和实例6的负载量满足实例迁移触发条件,满足实例迁移触发条件可以为负载量超过预置阈值,则要进行实例迁移,实例迁移的数量是由每个工作节点当前的实例负载量来决定的,如果根据三个工作节点当前的实例负载量得到工作节点2还需要增加两个实例,而工作节点1上实例1、实例2和实例3的负载量指示,工作节点1上有一个实例空闲,工作节点3上有一个实例空闲,则可以参阅图2,将工作节点1上的实例3迁移到工作节点2,将工作节点3上的实例7迁移到工作节点2。实际上迁移的可以是工作节点1和工作节点3上的任一实例,不限于实例3和实例7。实例的负载量可以有多种表现形式,例如:流量、用户接入数量、硬件资源的占用量等,当负载量的表现形式不同时,实例迁移的触发条件可以是不相同的,例如:当用流量来表达负载量时,当流量超过预置门限时则达到实例迁移触发条件,当用用户接入数量来表达负载量时,当用户接入数量超过预置门限时则达到实例迁移触发条件,当用硬件资源的占用量来表达负载量时,当硬件资源的占用量超过预置门限时则达到实例迁移触发条件,以上几个例子都是用预置门限作为触发点的,实际上,根据负载量类型的不同,可以设置不同的触发点。
所述从所述第二工作节点迁移所述第一应用的至少一个实例到所述第一工作节点之前,所述方法还可以包括:
确定所述每个工作节点对所述第一应用的实例需求数量,所述每个工作节点对实例的实例需求数量为与所述每个工作节点当前的实例负载量相匹配的实例数量;
其中,所述确定所述每个工作节点对所述第一应用的实例需求数量,具体可以包括:
获取所述每个工作节点上部署的实例预先配置的一个或多个监控参数以及每个监控参数的权重;
根据所述配置的监控参数和所述监控参数的权重,以及所述每个工作节点上当前部署的所述第一应用的实例总数量,计算得到所述每个工作节点上所述第一应用的实例需求数量。
其中,监控参数可以包括每秒钟访问所述第一应用的实例的流量、用户数量、新建流数目等,还可以包括实例对业务请求的响应延时、业务请求的访问时间、处理器、内存和带宽的占用率等。
可以根据每个监控参数的重要程度为该监控参数设置权重,各监控参数的权重之和为1。
计算所述每个工作节点上所述第一应用的实例需求数量的过程可以用公式表示:例如:监控参数的权重用w表示,监控参数用p表示,p是一个百分比,例如某个工作节点的一个应用的实例访问流量是30M,该应用在所有工作节点的访问流量是100M,则该节点p值为0.3。则所述第一应用的实例分部比例可以表示为:P=p1*w1+p2*w2+…..。当每个工作节点针对所述第一应用共有N个实例时,则每个工作节点上实例分布数目=N*P。
以有三个工作节点,监控参数包括:流量、用户数量、新建流数目为例说明每个工作节点上实例数据的计算过程:
三个工作节点分别表示为dc-1,dc-2,dc-3;设某个应用有N个实例,初始状态采用均匀分配的方式部署到三个工作节点上。
监控参数和权重设置为:
流量,每秒访问应用的流量,设置为X,权重w1;
用户数目,一段时间内用访问该应用的用户总数,设置为Y,权重w2;
新建流数目,每秒新建流数目,设置为Z,权重w3;
实例分布计算公式:
dc-1部署的app的实例数目:
=((X1/(X1+X2+X3)*w1+Y1/(Y1+Y2+Y3)*w2+Z1/(Z1+Z2+Z3)*w3))*N;
dc-2部署的app的实例数目:
=((X2/(X1+X2+X3)*w1+Y2/(Y1+Y2+Y3)*w2+Z2/(Z1+Z2+Z3)*w3))*N;
dc-3部署的app的实例数目:
=N-dc-1部署的app实例数目-dc-2部署的app实例数目。
计算过程中有余数时,可以用四舍五入的方式去掉余数,也可以用只入不舍的方式去掉余数。
在计算出每个工作节点的实例需求数量后,可以根据每个工作节点的实例需求数量和原来的已有实例数量,确定每个工作节点的实例缺少数量和实例空闲数量,这样,就可以将空闲的实例迁移到实例负载过重的工作节点上,为负载过程的工作节点提供实例缺少数量个实例。例如:如图2所示,将工作节点1上空闲的一个实例3迁移到工作节点2上,将工作节点3上空闲的一个实例7迁移到工作节点2上。
实例的迁移过程可以理解为是:主控节点指示工作节点1和工作节点3各删除一个实例,然后指示工作节点2新创建两个实例。具体过程可以是:主控节点向工作节点1和工作节点3发送删除指令,删除指令用于指示删除一个实例,并向工作节点2发送新建指令,所述新建指令用于指示新建一个实例。
本发明实施例提供的实例迁移的方法,不仅可以通过实例迁移来实现负载分担,从而提高了负载过重的实例对用户请求的响应速度,提高了用户体验。而且通过实例迁移的方法来实现负载分担,还可以均衡资源的利用率,避免资源浪费。
参阅图3,本发明实施例提供的实例迁移的方法的一实施例应用于云计算系统的主控节点,所述云计算系统还包括多个工作节点,每个工作节点上分别部署有第一应用的一个或多个实例,所述多个工作节点包括第一工作节点和至少一个第二工作节点,所述方法包括:
101、所述主控节点确定所述每个工作节点上部署的实例的负载量。
负载量可以理解为是第一应用的实例承受相应业务请求的能力。可以用业务请求的负载接入量来衡量,也可以用业务请求的响应速度来衡量,也可以用其他参数来衡量,还可以用各参数的组合来衡量。
102、当所述第一工作节点上部署的实例的负载量满足实例迁移触发条件时,从所述一个或多个第二工作节点迁移所述第一应用的至少一个实例到所述第一工作节点,所述第一工作节点为所述每个工作节点中的一个。
满足实例迁移触发条件可以为负载量超过预置阈值,门限值。
本发明实施例所采用的实例迁移的方法应用于云计算系统的主控节点,所述云计算系统还包括多个工作节点,每个工作节点上分别部署有第一应用的一个或多个实例,所述多个工作节点包括第一工作节点和至少一个第二工作节点,所述方法包括:所述主控节点确定所述每个工作节点上部署的实例的负载量;当所述第一工作节点上部署的实例的负载量满足实例迁移触发条件时,从所述一个或多个第二工作节点迁移所述第一应用的至少一个实例到所述第一工作节点,所述第一工作节点为所述每个工作节点中的一个。与现有技术中工作节点上的实例负载过重时,响应速度过慢相比,本发明实施例提供的实例迁移的方法,可以根据每个工作节点上部署的实例的负载量来进行实例迁移,以动态调整实例在各个工作节点的分布,从而提高的实例的利用率,并提高了负载过重的实例对用户请求的响应速度,提高了用户体验。
可选地,在上述图3对应的实施例的基础上,本发明实施例提供的实例迁移的方法的第一个可选实施例中,所述从所述第二工作节点迁移所述第一应用的至少一个实例到所述第一工作节点之前,所述方法还可以包括:
确定所述每个工作节点对所述第一应用的实例需求数量,所述每个工作节点对实例的实例需求数量为与所述每个工作节点当前的实例负载量相匹配的实例数量;
所述从所述一个或多个第二工作节点迁移所述第一应用的至少一个实例到所述第一工作节点,具体包括:
根据所述每个工作节点对所述第一应用的实例需求数量,从每个第二工作节点迁移空闲实例到所述第一工作节点,所述空闲实例的数量小于或等于所述第一工作节点上所述第一应用的实例缺少数量,所述实例缺少数量为:为满足所述第一工作节点当前所述第一应用的实例负载量而需要增加的实例数量。
可选地,在上述图3对应的第一个可选实施例的基础上,本发明实施例提供的实例迁移的方法的第二个可选实施例中,
所述根据所述每个工作节点对所述第一应用的实例需求数量,从每个第二工作节点迁移空闲实例到所述第一工作节点,具体可以包括:
根据所述第一工作节点对所述第一应用的实例需求数量和所述第一工作节点上所述第一应用的已有实例数量,确定所述第一工作节点对所述第一应用的所述实例缺少数量;
根据所述每个第二工作节点对所述第一应用的实例需求数量和所述每个第二工作节点上所述第一应用的已有实例数量,确定所述每个第二工作节点对所述第一应用的实例空闲数量;
当所述实例缺少数量大于或等于所述每个第二工作节点的实例空闲数量之和时,将所述每个第二工作节点的空闲实例分别迁移到所述第一工作节点;
当所述实例缺少数量小于所述每个第二工作节点的实例空闲数量之和时,从所述每个第二工作节点的所述空闲实例中迁移所述实例缺少数量个空闲实例到所述第一工作节点。
本发明实施例中,当空闲实例的数量不够时,只能尽量满足第一工作节点对实例的需求。可选地,在上述图3对应的第一个或第二个可选实施例的基础上,本发明实施例提供的实例迁移的方法的第三个可选实施例中,
所述确定所述每个工作节点对所述第一应用的实例需求数量,具体可以包括:
获取所述每个工作节点上部署的实例预先配置的一个或多个监控参数以及每个监控参数的权重;
根据所述配置的监控参数和所述监控参数的权重,以及所述每个工作节点上当前部署的所述第一应用的实例总数量,计算得到所述每个工作节点上所述第一应用的实例需求数量。
可选地,在上述图3对应的第二个可选实施例的基础上,本发明实施例提供的实例迁移的方法的第四个可选实施例中,
所述从所述一个或多个第二工作节点迁移所述第一应用的至少一个实例到所述第一工作节点,可以包括:
控制所述每个第二工作节点删除所述第一应用的所述至少一个实例,并控制所述第一工作节点新建所述第一应用的所述至少一个实例。
本发明图3所描述的实施例以及可选实施例可以参阅图1和图2部分的描述进行理解,本处不做过多赘述。
参阅图4,本发明实施例提供的实例迁移的装置20应用于云计算系统,所述云计算系统还多个工作节点,每个工作节点上分别部署有第一应用的一个或多个实例,所述多个工作节点包括第一工作节点和至少一个第二工作节点,所述实例迁移的装置20可以为云计算系统的主控节点也可以为主控节点的一部分,所述装置20包括:
确定单元201,用于确定所述每个工作节点上部署的实例的负载量;
迁移单元202,用于当所述确定单元201确定的所述第一工作节点上部署的实例的负载量满足实例迁移触发条件时,从所述一个或多个第二工作节点迁移所述第一应用的至少一个实例到所述第一工作节点,所述第一工作节点为所述每个工作节点中的一个。
本发明实施例提供的实例迁移的装置20应用于云计算系统,所述云计算系统还多个工作节点,每个工作节点上分别部署有第一应用的一个或多个实例,所述多个工作节点包括第一工作节点和至少一个第二工作节点,所述实例迁移的装置20可以为云计算系统的主控节点也可以为主控节点的一部分,所述装置20包括:确定单元201确定所述每个工作节点上部署的实例的负载量;迁移单元202当所述确定单元201确定的所述第一工作节点上部署的实例的负载量满足实例迁移触发条件时,从所述一个或多个第二工作节点迁移所述第一应用的至少一个实例到所述第一工作节点,所述第一工作节点为所述每个工作节点中的一个。
与现有技术中工作节点上的实例负载过重时,响应速度过慢相比,本发明实施例提供的实例迁移的装置,以动态调整实例在各个工作节点的分布,从而提高的实例的利用率,并提高了负载过重的实例对用户请求的响应速度,提高了用户体验
可选地,在上述图4对应的实施例的基础上,本发明实施例提供的实例迁移的装置的第一个可选实施例中,
所述确定单元201,还用于确定所述每个工作节点对所述第一应用的实例需求数量,所述每个工作节点对实例的实例需求数量为与所述每个工作节点当前的实例负载量相匹配的实例数量;
所述迁移单元202,
还用于确定所述每个工作节点对所述第一应用的实例需求数量,所述每个工作节点对实例的实例需求数量为与所述每个工作节点当前的实例负载量相匹配的实例数量;
可选地,在上述实例迁移的装置的第一个可选实施例的基础上,参阅图5,本发明实施例提供的实例迁移的装置的第二个可选实施例中,所述迁移单元202包括:
第一确定子单元2021,
根据所述第一工作节点对所述第一应用的实例需求数量和所述第一工作节点上所述第一应用的已有实例数量,确定所述第一工作节点对所述第一应用的所述实例缺少数量;
第二确定子单元2022,用于根据所述每个第二工作节点对所述第一应用的实例需求数量和所述每个第二工作节点上所述第一应用的已有实例数量,确定所述每个第二工作节点对所述第一应用的实例空闲数量;
迁移子单元2023,用于:
当所述第一确定子单元2021确定的所述实例缺少数量大于或等于所述第二确定子单元2022确定的所述每个第二工作节点的实例空闲数量之和时,将所述每个第二工作节点的空闲实例分别迁移到所述第一工作节点;
当所述第一确定子单元2021实例缺少数量小于所述第二确定子单元2022确定的所述每个第二工作节点的实例空闲数量之和时,从所述每个第二工作节点的所述空闲实例中迁移所述实例缺少数量个空闲实例到所述第一工作节点。
可选地,在上述实例迁移的装置的第一个或第二个可选实施例的基础上,参阅图6,本发明实施例提供的实例迁移的装置的第三个可选实施例中,所述确定单元201包括:
获取子单元2011,用于获取所述每个工作节点上部署的实例预先配置的一个或多个监控参数以及每个监控参数的权重;
计算子单元2012,用于根据所述获取子单元2011获取的所述预先配置的监控参数和所述监控参数的权重,以及所述每个工作节点上当前部署的所述第一应用的实例总数量,计算得到所述每个工作节点上所述第一应用的实例需求数量。
可选地,在上述实例迁移的装置的实施例或任一可选实施例的基础上,本发明实施例提供的实例迁移的装置的第四个可选实施例中,
所述迁移单元202,具体用于控制所述每个第二工作节点删除所述第一应用的所述至少一个实例,并控制所述第一工作节点新建所述第一应用的所述至少一个实例。
本发明实施例中实例迁移的装置可以参阅图1-3部分进行理解,本处不做过多赘述。
图7是本发明实施例云计算系统的控制设备20的结构示意图。控制设备20可包括输入/输出设备210、处理器230和存储器240,所述云计算系统还包括多个工作节点,每个工作节点上分别部署有第一应用的一个或多个实例,所述多个工作节点包括第一工作节点和至少一个第二工作节点。
存储器240可以包括只读存储器和随机存取存储器,并向处理器230提供指令和数据。存储器240的一部分还可以包括非易失性随机存取存储器(NVRAM)。
存储器240存储了如下的元素,可执行模块或者数据结构,或者它们的子集,或者它们的扩展集:
操作指令:包括各种操作指令,用于实现各种操作。
操作系统:包括各种系统程序,用于实现各种基础业务以及处理基于硬件的任务。
在本发明实施例中,处理器230通过调用存储器240存储的操作指令(该操作指令可存储在操作系统中),执行如下操作:
确定所述每个工作节点上部署的实例的负载量;
当所述第一工作节点上部署的实例的负载量满足实例迁移触发条件时,从所述一个或多个第二工作节点迁移所述第一应用的至少一个实例到所述第一工作节点,所述第一工作节点为所述每个工作节点中的一个。
本发明实施例中,控制设备20可以通过实例迁移来实现负载分担,从而提高了实例的利用率,并提高了负载过重的实例对用户请求的响应速度,提高了用户体验。
处理器230控制控制设备20的操作,处理器230还可以称为CPU(CentralProcessing Unit,中央处理单元)。存储器240可以包括只读存储器和随机存取存储器,并向处理器230提供指令和数据。存储器240的一部分还可以包括非易失性随机存取存储器(NVRAM)。具体的应用中,控制设备20的各个组件通过总线系统250耦合在一起,其中总线系统250除包括数据总线之外,还可以包括电源总线、控制总线和状态信号总线等。但是为了清楚说明起见,在图中将各种总线都标为总线系统250。
上述本发明实施例揭示的方法可以应用于处理器230中,或者由处理器230实现。处理器230可能是一种集成电路芯片,具有信号的处理能力。在实现过程中,上述方法的各步骤可以通过处理器230中的硬件的集成逻辑电路或者软件形式的指令完成。上述的处理器230可以是通用处理器、数字信号处理器(DSP)、专用集成电路(ASIC)、现成可编程门阵列(FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。可以实现或者执行本发明实施例中的公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。结合本发明实施例所公开的方法的步骤可以直接体现为硬件译码处理器执行完成,或者用译码处理器中的硬件及软件模块组合执行完成。软件模块可以位于随机存储器,闪存、只读存储器,可编程只读存储器或者电可擦写可编程存储器、寄存器等本领域成熟的存储介质中。该存储介质位于存储器240,处理器230读取存储器240中的信息,结合其硬件完成上述方法的步骤。
可选地,所述处理器230还用于确定所述每个工作节点对所述第一应用的实例需求数量,所述每个工作节点对实例的实例需求数量为与所述每个工作节点当前的实例负载量相匹配的实例数量;
可选地,所述处理器230具体用于:根据所述每个工作节点对所述第一应用的实例需求数量,从每个第二工作节点迁移空闲实例到所述第一工作节点,所述空闲实例的数量小于或等于所述第一工作节点上所述第一应用的实例缺少数量,所述实例缺少数量为:为满足所述第一工作节点当前所述第一应用的实例负载量而需要增加的实例数量。
可选地,所述处理器230具体用于:
根据所述第一工作节点对所述第一应用的实例需求数量和所述第一工作节点上所述第一应用的已有实例数量,确定所述第一工作节点对所述第一应用的所述实例缺少数量;
根据所述每个第二工作节点对所述第一应用的实例需求数量和所述每个第二工作节点上所述第一应用的已有实例数量,确定所述每个第二工作节点对所述第一应用的实例空闲数量;
当所述实例缺少数量大于或等于所述每个第二工作节点的实例空闲数量之和时,将所述每个第二工作节点的空闲实例分别迁移到所述第一工作节点;
当所述实例缺少数量小于所述每个第二工作节点的实例空闲数量之和时,从所述每个第二工作节点的所述空闲实例中迁移所述实例缺少数量个空闲实例到所述第一工作节点。
可选地,所述处理器230具体用于:
获取所述每个工作节点上部署的实例预先配置的一个或多个监控参数以及每个监控参数的权重;
根据所述配置的监控参数和所述监控参数的权重,以及所述每个工作节点上当前部署的所述第一应用的实例总数量,计算得到所述每个工作节点上所述第一应用的实例需求数量。
可选地,所述处理器230具体用于:
控制所述每个第二工作节点删除所述第一应用的所述至少一个实例,并控制所述第一工作节点新建所述第一应用的所述至少一个实例。
参阅图8,本发明实施例提供的云计算系统包括主控节点30和多个工作节点40,每个工作节点40上分别部署有第一应用的一个或多个实例,
所述主控节点30用于:
确定所述每个工作节点上部署的实例的负载量;
当所述第一工作节点上部署的实例的负载量满足实例迁移触发条件时,从所述一个或多个第二工作节点迁移所述第一应用的至少一个实例到所述第一工作节点,所述第一工作节点为所述每个工作节点中的一个。
与现有技术中工作节点上的实例负载过重时,响应速度过慢相比,本发明实施例提供的云计算系统,可以通过实例迁移来实现负载分担,从而提高了实例的利用率,并提高了负载过重的实例对用户请求的响应速度,提高了用户体验。
本领域普通技术人员可以理解上述实施例的各种方法中的全部或部分步骤是可以通过程序来指令相关的硬件(例如处理器)来完成,该程序可以存储于一计算机可读存储介质中,存储介质可以包括:ROM、RAM、磁盘或光盘等。
以上对本发明实施例所提供的实例迁移的方法、装置以及系统进行了详细介绍,本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。
Claims (11)
1.一种实例迁移的方法,其特征在于,所述方法应用于云计算系统的主控节点,所述云计算系统还包括多个工作节点,每个工作节点上分别部署有第一应用的一个或多个实例,所述多个工作节点包括第一工作节点和至少一个第二工作节点,所述方法包括:
所述主控节点确定所述每个工作节点上部署的实例的负载量;
当所述第一工作节点上部署的实例的负载量满足实例迁移触发条件时,从所述一个或多个第二工作节点迁移所述第一应用的至少一个实例到所述第一工作节点,所述第一工作节点为所述每个工作节点中的一个;其中,所述满足实例迁移触发条件为所述负载量超过预置阈值。
2.根据权利要求1所述的方法,其特征在于,所述从所述第二工作节点迁移所述第一应用的至少一个实例到所述第一工作节点之前,所述方法还包括:
确定所述每个工作节点对所述第一应用的实例需求数量,所述每个工作节点对实例的实例需求数量为与所述每个工作节点当前的实例负载量相匹配的实例数量;
所述从所述一个或多个第二工作节点迁移所述第一应用的至少一个实例到所述第一工作节点,具体包括:
根据所述每个工作节点对所述第一应用的实例需求数量,从每个第二工作节点迁移空闲实例到所述第一工作节点,所述空闲实例的数量小于或等于所述第一工作节点上所述第一应用的实例缺少数量,所述实例缺少数量为:为满足所述第一工作节点当前所述第一应用的实例负载量而需要增加的实例数量。
3.根据权利要求2所述的方法,其特征在于,所述根据所述每个工作节点对所述第一应用的实例需求数量,从每个第二工作节点迁移空闲实例到所述第一工作节点,具体包括:
根据所述第一工作节点对所述第一应用的实例需求数量和所述第一工作节点上所述第一应用的已有实例数量,确定所述第一工作节点对所述第一应用的所述实例缺少数量;
根据所述每个第二工作节点对所述第一应用的实例需求数量和所述每个第二工作节点上所述第一应用的已有实例数量,确定所述每个第二工作节点对所述第一应用的实例空闲数量;
当所述实例缺少数量大于或等于所述每个第二工作节点的实例空闲数量之和时,将所述每个第二工作节点的空闲实例分别迁移到所述第一工作节点;
当所述实例缺少数量小于所述每个第二工作节点的实例空闲数量之和时,从所述每个第二工作节点的所述空闲实例中迁移所述实例缺少数量个空闲实例到所述第一工作节点。
4.根据权利要求2或3所述方法,其特征在于,所述确定所述每个工作节点对所述第一应用的实例需求数量,具体包括:
获取所述每个工作节点上部署的实例预先配置的一个或多个监控参数以及每个监控参数的权重;
根据所述配置的监控参数和所述监控参数的权重,以及所述每个工作节点上当前部署的所述第一应用的实例总数量,计算得到所述每个工作节点上所述第一应用的实例需求数量。
5.根据权利要求2或3所述的方法,其特征在于,所述从所述一个或多个第二工作节点迁移所述第一应用的至少一个实例到所述第一工作节点,包括:
控制所述每个第二工作节点删除所述第一应用的所述至少一个实例,并控制所述第一工作节点新建所述第一应用的所述至少一个实例。
6.一种实例迁移的装置,其特征在于,所述装置应用于云计算系统,所述云计算系统还多个工作节点,每个工作节点上分别部署有第一应用的一个或多个实例,所述多个工作节点包括第一工作节点和至少一个第二工作节点,所述装置包括:
确定单元,用于确定所述每个工作节点上部署的实例的负载量;
迁移单元,用于当所述确定单元确定的所述第一工作节点上部署的实例的负载量满足实例迁移触发条件时,从所述一个或多个第二工作节点迁移所述第一应用的至少一个实例到所述第一工作节点,所述第一工作节点为所述每个工作节点中的一个;其中,所述满足实例迁移触发条件为所述负载量超过预置阈值。
7.根据权利要求6所述的装置,其特征在于,
所述确定单元,还用于确定所述每个工作节点对所述第一应用的实例需求数量,所述每个工作节点对实例的实例需求数量为与所述每个工作节点当前的实例负载量相匹配的实例数量;
所述迁移单元,具体用于根据所述每个工作节点对所述第一应用的实例需求数量,从每个第二工作节点迁移空闲实例到所述第一工作节点,所述空闲实例的数量小于或等于所述第一工作节点上所述第一应用的实例缺少数量,所述实例缺少数量为:为满足所述第一工作节点当前所述第一应用的实例负载量而需要增加的实例数量。
8.根据权利要求7所述的装置,其特征在于,所述迁移单元包括:
第一确定子单元,用于根据所述第一工作节点对所述第一应用的实例需求数量和所述第一工作节点上所述第一应用的已有实例数量,确定所述第一工作节点对所述第一应用的所述实例缺少数量;
第二确定子单元,用于根据所述每个第二工作节点对所述第一应用的实例需求数量和所述每个第二工作节点上所述第一应用的已有实例数量,确定所述每个第二工作节点对所述第一应用的实例空闲数量;
迁移子单元,用于:
当所述第一确定子单元确定的所述实例缺少数量大于或等于所述第二确定子单元确定的所述每个第二工作节点的实例空闲数量之和时,将所述每个第二工作节点的空闲实例分别迁移到所述第一工作节点;
当所述第一确定子单元实例缺少数量小于所述第二确定子单元确定的所述每个第二工作节点的实例空闲数量之和时,从所述每个第二工作节点的所述空闲实例中迁移所述实例缺少数量个空闲实例到所述第一工作节点。
9.根据权利要求7或8所述的装置,其特征在于,所述确定单元包括:
获取子单元,用于获取所述每个工作节点上部署的实例预先配置的一个或多个监控参数以及每个监控参数的权重;
计算子单元,用于根据所述获取子单元获取的所述预先配置的监控参数和所述监控参数的权重,以及所述每个工作节点上当前部署的所述第一应用的实例总数量,计算得到所述每个工作节点上所述第一应用的实例需求数量。
10.根据权利要求7或8所述的装置,其特征在于,
所述迁移单元,具体用于控制所述每个第二工作节点删除所述第一应用的所述至少一个实例,并控制所述第一工作节点新建所述第一应用的所述至少一个实例。
11.一种云计算系统,其特征在于,包括:主控节点和多个工作节点,每个工作节点上分别部署有第一应用的一个或多个实例,
所述主控节点用于:确定所述每个工作节点上部署的实例的负载量;
当第一工作节点上部署的实例的负载量满足实例迁移触发条件时,从所述一个或多个第二工作节点迁移所述第一应用的至少一个实例到所述第一工作节点,所述第一工作节点为所述每个工作节点中的一个;其中,所述满足实例迁移触发条件为所述负载量超过预置阈值。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410515111.6A CN104283951B (zh) | 2014-09-29 | 2014-09-29 | 一种实例迁移的方法、装置及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410515111.6A CN104283951B (zh) | 2014-09-29 | 2014-09-29 | 一种实例迁移的方法、装置及系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN104283951A CN104283951A (zh) | 2015-01-14 |
CN104283951B true CN104283951B (zh) | 2018-03-27 |
Family
ID=52258424
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201410515111.6A Active CN104283951B (zh) | 2014-09-29 | 2014-09-29 | 一种实例迁移的方法、装置及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN104283951B (zh) |
Families Citing this family (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105159759B (zh) * | 2015-08-31 | 2019-01-08 | 华为软件技术有限公司 | 应用实例部署方法和装置 |
CN107018539A (zh) * | 2016-01-27 | 2017-08-04 | 中兴通讯股份有限公司 | 应用的移动性的处理方法及装置 |
EP3508002B1 (en) * | 2016-08-30 | 2023-04-19 | Sony Group Corporation | Relocation of mobile edge computing services |
CN113115272A (zh) * | 2017-09-21 | 2021-07-13 | 华为技术有限公司 | 业务重定向方法及装置 |
CN109842636A (zh) * | 2017-11-24 | 2019-06-04 | 阿里巴巴集团控股有限公司 | 云服务迁移方法、装置以及电子设备 |
CN113422804A (zh) * | 2018-11-23 | 2021-09-21 | 华为技术有限公司 | 一种应用实例迁移的方法及多接入边缘计算主机 |
CN109918198B (zh) * | 2019-02-18 | 2020-02-11 | 中国空间技术研究院 | 一种基于用户特征预测的仿真云平台负载调度系统及方法 |
CN110365942B (zh) * | 2019-07-18 | 2021-08-20 | 北京工业大数据创新中心有限公司 | 一种实时视频智能分析方法和系统 |
CN110597623A (zh) * | 2019-08-13 | 2019-12-20 | 平安普惠企业管理有限公司 | 容器资源分配方法、装置、计算机设备和存储介质 |
CN113630819B (zh) * | 2020-05-08 | 2023-03-24 | 大唐移动通信设备有限公司 | 应用迁移方法及装置 |
CN114125037A (zh) * | 2021-10-12 | 2022-03-01 | 能科科技股份有限公司 | 一种基于协同平台的快速云部署方法 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101442435A (zh) * | 2008-12-25 | 2009-05-27 | 华为技术有限公司 | 分布式系统的业务数据管理方法、装置及分布式系统 |
EP2307939A1 (en) * | 2008-06-30 | 2011-04-13 | Nokia Corporation | A resource manager for managing hardware resources |
CN102790793A (zh) * | 2012-05-08 | 2012-11-21 | 北京邮电大学 | 一种面向云计算虚拟机迁移的决策方法及控制模块 |
CN103458055A (zh) * | 2013-09-22 | 2013-12-18 | 广州中国科学院软件应用技术研究所 | 一种云计算平台 |
-
2014
- 2014-09-29 CN CN201410515111.6A patent/CN104283951B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP2307939A1 (en) * | 2008-06-30 | 2011-04-13 | Nokia Corporation | A resource manager for managing hardware resources |
CN101442435A (zh) * | 2008-12-25 | 2009-05-27 | 华为技术有限公司 | 分布式系统的业务数据管理方法、装置及分布式系统 |
CN102790793A (zh) * | 2012-05-08 | 2012-11-21 | 北京邮电大学 | 一种面向云计算虚拟机迁移的决策方法及控制模块 |
CN103458055A (zh) * | 2013-09-22 | 2013-12-18 | 广州中国科学院软件应用技术研究所 | 一种云计算平台 |
Also Published As
Publication number | Publication date |
---|---|
CN104283951A (zh) | 2015-01-14 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN104283951B (zh) | 一种实例迁移的方法、装置及系统 | |
CN104184813B (zh) | 虚拟机的负载均衡方法和相关设备及集群系统 | |
TWI694339B (zh) | 一種區塊鏈共識方法、設備及系統 | |
CN102185779B (zh) | 与综合配置能力成比例的数据中心资源负载均衡的方法及装置 | |
CN108182105B (zh) | 基于Docker容器技术的局部动态迁移方法及控制系统 | |
CN107689925A (zh) | 基于云监控的负载均衡优化方法及装置 | |
CN106209402B (zh) | 一种虚拟网络功能的伸缩方法和设备 | |
CN104270416A (zh) | 负载均衡控制方法及管理节点 | |
JP6424632B2 (ja) | 負荷算出方法、負荷算出プログラム及び負荷算出装置 | |
CN107193638A (zh) | 一种基于多维环境感知的网络功能快速自适应迁移方法 | |
CN104216784A (zh) | 热点均衡控制方法及相关装置 | |
CN106681839B (zh) | 弹性计算动态分配方法 | |
CN105893113A (zh) | 虚拟机的管理系统及管理方法 | |
CN103605578A (zh) | 基于虚拟机迁移的负载均衡调度方法 | |
CN104331331A (zh) | 任务数目和性能感知的可重构多核处理器的资源分配方法 | |
CN104572301A (zh) | 一种资源分配方法和系统 | |
CN109587072A (zh) | 分布式系统全局限速系统及方法 | |
CN109960579B (zh) | 一种调整业务容器的方法及装置 | |
CN113645146A (zh) | 基于新流密度的软件定义网络控制器负载均衡方法及系统 | |
CN105487927B (zh) | 一种资源管理方法及装置 | |
CN108228350A (zh) | 一种资源分配方法及装置 | |
CN107294865A (zh) | 一种软件交换机的负载均衡方法及软件交换机 | |
CN109697105A (zh) | 一种容器云环境物理机选择方法及其系统、虚拟资源配置方法及迁移方法 | |
CN106412075A (zh) | 一种基于云计算的资源配置方法及装置 | |
WO2024001755A1 (zh) | 服务链分配方法和系统、计算机设备和存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |