CN107273211B - 一种云计算环境下基于虚拟机的数据处理方法 - Google Patents
一种云计算环境下基于虚拟机的数据处理方法 Download PDFInfo
- Publication number
- CN107273211B CN107273211B CN201710463745.5A CN201710463745A CN107273211B CN 107273211 B CN107273211 B CN 107273211B CN 201710463745 A CN201710463745 A CN 201710463745A CN 107273211 B CN107273211 B CN 107273211B
- Authority
- CN
- China
- Prior art keywords
- data center
- virtual machine
- physical
- physical machine
- resource
- 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
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5083—Techniques for rebalancing the load in a distributed system
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45533—Hypervisors; Virtual machine monitors
- G06F9/45558—Hypervisor-specific management and integration aspects
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5005—Allocation of resources, e.g. of the central processing unit [CPU] to service a request
- G06F9/5027—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
- G06F9/505—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals considering the load
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45533—Hypervisors; Virtual machine monitors
- G06F9/45558—Hypervisor-specific management and integration aspects
- G06F2009/4557—Distribution of virtual machine instances; Migration and load balancing
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Multi Processors (AREA)
Abstract
本发明提出了一种云计算环境下基于虚拟机的数据处理方法,所述方法包括:(1)调度处理器接收用户的虚拟机任务请求,调度处理器根据当前各个数据中心的负载状态,将虚拟机任务请求转发到第一个数据中心;(2)所述第一个数据中心根据虚拟机任务请求,为用户分配物理机;(3)调度处理器接收数据中心发来的虚拟机任务请求分配结果,并发送给用户。本发明提出的云计算环境下基于虚拟机的数据处理方法,提高了资源利用效率、减少任务处理时间。
Description
技术领域
本发明涉及云计算领域,具体涉及一种云计算环境下基于虚拟机的数据处理方法。
背景技术
随着互联网技术和网络技术的快速发展,越来越多的人使用互联网来获取信息、购物和娱乐一,网络数据量和用户请求数出现了爆发式的增长,对服务器计算和处理能力提出了更高的要求,使它们在合理接受客户端请求的基础上又要在最短的时间内做出应答响应,以提高用户体验度。根据易观国际提供的数据国内电子商务公司淘宝网目前每天的活跃数据量超过50TB,有4亿条产品讯息和2亿多注册用户在上面活动,每天的访问量超过4000万,互联网巨头谷歌每天需处理9100万次查询,一年平均要在数据库保存33万亿条用户的查询记录。如此巨大的数据量和访问请求,就迫切需要具备快速响应能力、高可用性、高扩展性。易于管理的服务器来提高网络吞吐量和及时响应用户请求的能力。
为保证用户响应时间,提高服务质量,势必需要对服务器的软硬件进行升级,这时面临着两种选择:一种是提高单个服务器的配置,如增加服务器内存和存储量,使用处理速度更快的CPU等提高性能,但是这种选择是治标不治本,设备升级远远跟不上用户访问量增加的速度,而且每次硬件升级都会面临着数据的迁移以及可靠性和稳定性方面的风险,从经济上来说,升级设备的代价也比较高,一般用户承担不起;另一种做法则是将多台服务器连接成一个整体,通过网络和分布式技术共享资源以实现用户请求和计算任务的并行高效处理。
在这种情况下,就产生了一种新的计算模式一云计算。云计算是在分布式计算、并行处理和网格计算的基础上发展起来的一种新兴的计算模式。云计算将计算任务分布在大量计算机构成的资源池上,使各种应用***能够根据需要获取计算能力、存储空间和各种软件服务。云计算平台上的各类服务器通过协作的方式完成特定的任务。
由于云计算平台上应用和用户需求的多样性以及服务器节点的资源异构性会出现***中节点负载不均衡的情况,导致一部分节点的负载过重资源不够用,而另一些节点则负载过轻处于空闲状态。因此如何通过合适的负载均衡算法来协调服务器之间的负载以提高云计算平台资源利用率和***性能成为目前云计算领域研究的一大关键问题。在云计算环境下往往包含有成千上万的数据(包括各种任务和资源),如果采用传统的负载均衡算法将会对算法的复杂性和有效性提出极大的挑战。
发明内容
至少部分的解决现有技术中存在的问题,本发明提出一种云计算环境下基于虚拟机的数据处理方法,所述方法包括:
(1)调度处理器接收用户的虚拟机任务请求,调度处理器根据当前各个数据中心的负载状态,将虚拟机任务请求转发给某一个数据中心;云计算环境中包含若干个数据中心,每个数据中心由若干个物理机组成;每个物理机中包括若干个虚拟机;
(2)数据中心在接到虚拟机任务请求之后,为该虚拟机任务请求找到一台物理机,将分配结果返回给调度处理器;
(3)调度处理器接收数据中心发来的虚拟机任务请求分配结果,并发送给用户;
其中,步骤(1)中所述调度处理器根据当前各个数据中心的负载状态,将虚拟机任务请求转发给某一个数据中心,具体包括:
调度处理器计算每个数据中心的资源负载值(XD1,…,XDi…,XDN),按照该值由小到大的顺序为数据中心排队;其中,XDi表示第i个数据中心的资源负载值,N表示所述云资源环境下的数据中心个数;
选择数据中心队列中的第一个数据中心,将虚拟机任务请求转发到所述第一个数据中心;
所述第一个数据中心根据虚拟机任务请求,为用户分配物理机;若分配物理机失败,则将所述虚拟机任务请求转发到所述数据中心队列中的下一个数据中心,在下一个数据中心中为用户分配物理机,直至分配物理机成功或者所有数据中心分配物理机失败;
更新分配到虚拟机任务的物理机的剩余资源。
所述的云计算环境下基于虚拟机的数据处理方法,还进一步包括:
对数据中心物理机当前时刻t的下一时刻t+1的资源负载情况进行预估;
根据物理机物理机当前时刻t的资源负载和下一时刻t+1的资源负载,选择需要迁出虚拟机的物理机以及所迁出虚拟机待迁入的物理机。
优选的,所述对数据中心物理机当前时刻t的下一时刻t+1的资源负载情况进行预估,具体包括:
W(t+1)=μW(t)+δW(t-1)+ωW(t-2),其中W(t+1)、W(t)、W(t-1)、W(t-2)分别表示时刻t+1、t、t-1、t-2时物理机的资源负载,μ、δ、ω为权值。
优选的,μ、δ、ω分别取值0.5、0.3、0.2。
优选的,所述选择需要迁出虚拟机的物理机,具体包括:
当物理机发生过载情况时和低载情况时,根据当前状态将该物理机上的部分或全部虚拟机迁移到其它物理机上运行。
优选的,当物理机处于过载状态时,将虚拟机按时刻t+1预估资源负载量进行降序排列,选择未来资源负载排名前列的虚拟机进行迁出,同时,使得当前物理机能够满足剩下的虚拟机的时刻t+1时的资源需求;
当物理机处于低载状态时,将所有虚拟机都迁移出当前物理机。
优选的,所述物理机过载情况包括CPU利用率大于80%,所述物理机低载情况包括CPU利用率小于20%。
优选的,所述选择所迁出虚拟机待迁入的物理机,具体包括:
根据需要迁入的虚拟机的资源需求与数据中心中所有物理机的资源信息,从中选取用于安置迁移虚拟机的物理机。
优选的,选择策略是对所有满足虚拟机资源分配要求的物理机预估其时刻t+1工作负载,根据预估情况划分资源需求缩减队列和资源需求扩大队列,通过进一步筛选确定目的物理机,具体步骤包括:
(a)计算各物理机上的资源需求伸缩量,其值为当前物理机上所有虚拟机时刻t+1的工作负载预估总量减去当前时刻工作负载总量,它反应了虚拟机资源需求的变化趋势;
(b)通过物理机资源总量减去当前时刻资源负载总量来计算未分配资源量,筛选出未分配资源量与资源需求伸缩量之间的差值即预计剩余资源量大于零的物理机列表,形成候选物理机列表;
(c)如果资源需求伸缩量为负值,则加入资源需求缩小队列,并计算剩余资源量与资源伸缩量的差值以降序排列。若为正值,则加入资源需求扩大队列,计算资源需求伸缩量与剩余资源量的比值作为安全调度因子,并依据该因子数值将队列按升序排列,如果一方队列为空,则直接选择另一方排位第一的物理机机做为待迁入的物理机,若都不为空,则进一步比较两个队列的首位物理机,选择其中一个作为待迁入的物理机。
优选的,所述对数据中心物理机当前时刻t的下一时刻t+1的资源负载情况进行预估,进一步包括:
统计当前物理机上用户信息;
使用启发式方法或K-邻近算法对用户在下一时刻t+1的所需资源U(t+1)进行预估,取U(t+1)和W(t+1)中值较大的作为下一时刻t+1当前物理机的资源负载值。
本发明提出了云计算环境下基于虚拟机的数据处理方法,提高了资源利用效率、减少任务处理时间。
附图说明
图1为本发明一种云计算环境下基于虚拟机的数据处理方法的流程图;
具体实施方式
下面将结合本发明的附图,对本发明的技术方案进行清楚、完整地描述。这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本发明相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本发明的一些方面相一致的装置和方法的例子。
参见图1,本发明提出了一种云计算环境下基于虚拟机的数据处理方法,所述方法包括:
(1)调度处理器接收用户的虚拟机任务请求,调度处理器根据当前各个数据中心的负载状态,将虚拟机任务请求转发给某一个数据中心;云计算环境中包含若干个数据中心,每个数据中心由若干个物理机组成;每个物理机中包括若干个虚拟机;
(2)数据中心在接到虚拟机任务请求之后,为该虚拟机任务请求找到一台物理机,将分配结果返回给调度处理器;
(3)调度处理器接收数据中心发来的虚拟机任务请求分配结果,并发送给用户。
调度处理器还用于接收数据中心发来的资源更新信息,并更新资源信息库;当某个数据中心的信息发生改变时,数据中心会给调度处理器发来更新后的信息,调度处理器收到之后,更新自身的数据库,保持与数据中心数据库的一致性,以便在分配虚拟机任务请求时使用。
调度处理器还用于管理数据中心,包括数据中心的注册和删除;当有新的数据中心需要加入到该云计算环境时,需要在调度处理器注册,将该数据中心的信息加入到调度处理器的数据库;当有数据中心需要删除时,在调度处理器的数据库将该数据中心的相应信息删除。
用户提交的虚拟机任务请求包括虚拟机使用的开始时间、结束时间、虚拟机的类型。
步骤(1)中所述调度处理器根据当前各个数据中心的负载状态,将虚拟机任务请求转发给某一个数据中心,具体包括:
调度处理器计算每个数据中心的资源负载值(XD1,…,XDi…,XDN),按照该值由小到大的顺序为数据中心排队;其中,XDi表示第i个数据中心的资源负载值,N表示所述云资源环境下的数据中心个数;
选择数据中心队列中的第一个数据中心,将虚拟机任务请求转发到所述第一个数据中心;
所述第一个数据中心根据虚拟机任务请求,为用户分配物理机;若分配物理机失败,则将所述虚拟机任务请求转发到所述数据中心队列中的下一个数据中心,在下一个数据中心中为用户分配物理机,直至分配物理机成功或者所有数据中心分配物理机失败;
更新分配到虚拟机任务的物理机的剩余资源。
所述调度处理器计算每个数据中心的资源负载值(XD1,…,XDi…,XDN),具体包括:
VCPUj、VMEMj、VSTORj分别表示数据中心Di中虚拟机j所需要的CPU大小、内存大小、存储大小,M表示数据中心Di所包含的所有虚拟机的数量。
所述第一个数据中心根据虚拟机任务请求,为用户分配物理机,其一实施例包括:
首先根据用户请求的虚拟机类型将物理机按该类型的利用率升序排列,所述虚拟机类型包括CPU类型、内存类型、存储类型;
根据该类型的利用率将物理机划分成多个区间,每个区间的大小可以动态设置,然后找出利用率最低的物理机所在的区间的所有物理机,将虚拟机任务试分配在该区间的所有物理机上,分别计算该区间物理机分配虚拟机任务后每个物理机的CPU利用率,内存利用率,存储利用率三者的方差,得到每个物理机的负载均衡值;
选取负载均衡值最低的物理机开始分配虚拟机,只要分配该虚拟机任务后该物理机的容量没有超过阈值,则成功分配,否则取下一个负载均衡值次小的物理机进行分配,如果该区间所有物理机都不能分配,则取出下一个区间的物理机进行分配,直到分配成功为止。
把物理机划分成多个区间,每个区间的大小可以动态设置,每次都从利用率最小的物理机所在区间进行分配,这样能保证先将任务分配给利用率小的物理机,保证整个数据中心比较均衡。同时每次只从一个区间中寻找物理机大大的减少了算法的运行时间。
所述计算该区间物理机分配虚拟机任务后每个物理机的CPU利用率,内存利用率,存储利用率三者的方差,得到每个物理机的负载均衡值,具体包括:
CB=(AVG-CPU_U)2+(AVG-MEM_U)2+(AVG-STOR_U)2,
AVG=(CPU_U+MEM_U+STOR_U)/3
其中,CB表示物理机的负载均衡值,CPU_U、MEM_U、STOR_U分别表示物理机的CPU利用率、内存利用率、存储利用率,AVG表示物理机的CPU利用率、内存利用率、存储利用率的平均值。
所述第一个数据中心根据虚拟机任务请求,为用户分配物理机,其又一实施例包括:
计算一个时间窗口T内所述第一个数据中心所接收到的所有虚拟机任务和该数据中心中所有物理机之间的资源负载矩阵;
根据所述资源负载矩阵为所述一个时间窗口T内所述第一个数据中心所接收到的所有虚拟机任务分配物理机。
所述计算一个时间窗口T内所述第一个数据中心所接收到的所有虚拟机任务和该数据中心中所有物理机之间的资源负载矩阵,具备包括:
计算一个时间窗口T内所述第一个数据中心所接收到的所有虚拟机任务中的每个虚拟机任务相对该数据中心中所有物理机中每个物理机的资源负载Vij,
其中,Vij表示一个时间窗口T内所述第一个数据中心所接收到的所有虚拟机任务中的第i个虚拟机任务相对该数据中心中对j个物理机的资源负载,
表示一个时间窗口T内所述第一个数据中心所接收到的所有虚拟机任务中的第i个虚拟机任务相对该数据中心中对j个物理机的CPU资源负载;TCPU i表示第i个虚拟机任务所需要的CPU资源,PCPU j表示第j个物理机剩余的可用CPU资源;
表示一个时间窗口T内所述第一个数据中心所接收到的所有虚拟机任务中的第i个虚拟机任务相对该数据中心中对j个物理机的内存资源负载;TMEM i表示第i个虚拟机任务所需要的内存资源,PMEM j表示第j个物理机剩余的可用内存资源;
表示一个时间窗口T内所述第一个数据中心所接收到的所有虚拟机任务中的第i个虚拟机任务相对该数据中心中对j个物理机的存储资源负载;TSTOR i表示第i个虚拟机任务所需要的存储资源,PSTOR j表示第j个物理机剩余的可用存储资源;
α、β、γ分别CPU资源负载权值、内存资源负载权值、存储资源负载权值,在一实施例中,α、β、γ分别取值0.5、0.3、0.2;
所述资源负载矩阵表示为:
所述矩阵表示在一个时间窗口T内有m个可用的物理机,有n个需要被调度的虚拟机任务请求,Vij代表第i个任务在第j个物理机上的负载值V。
所述根据所述资源负载矩阵为所述一个时间窗口T内所述第一个数据中心所接收到的所有虚拟机任务分配物理机,具体包括:
找出每个虚拟机任务的最小V值Vi,即针对矩阵的每一行,找出每一行的最小值;
Vi=min{Vi1,Vi2,…,Vim};
然后,找出这些最小值中的最大值Vmax,
Vmax=max{V1,V2,…,Vn};
找出Vmax所在的任务i,该任务就是第一个将要被分配的任务,它将被调度到该任务所在行的Vij是
Vmax的下j所代表的第j个物理机上;随后删除任务i在矩阵中的那一行,并更新矩阵中的其它任务在第j个节点上的L值,即都加上Vmax(这是因为其它任务如果要在第j个物理机上执行需要等待任务i执行,故它们的L值要加上Vmax);矩阵更新完毕后进行下一个任务调度的计算,重复以上过程,并最终确定了所有任务的调度顺序和调度去向。
本发明提出的一种云计算环境下基于虚拟机的数据处理方法,还进一步包括:
对数据中心物理机当前时刻t的下一时刻t+1的资源负载情况进行预估;
根据物理机物理机当前时刻t的资源负载和下一时刻t+1的资源负载,选择需要迁出虚拟机的物理机以及所迁出虚拟机待迁入的物理机。
所述对数据中心物理机当前时刻t的下一时刻t+1的资源负载情况进行预估,具体包括:
W(t+1)=μW(t)+δW(t-1)+ωW(t-2),其中W(t+1)、W(t)、W(t-1)、W(t-2)分别表示时刻t+1、t、t-1、t-2时物理机的资源负载,μ、δ、ω为权值,在一实施例中分别取值0.5、0.3、0.2。
所述选择需要迁出虚拟机的物理机,具体包括:
当物理机发生过载情况时和低载情况时,根据当前状态将该物理机上的部分或全部虚拟机迁移到其它物理机上运行。
当物理机处于过载状态时,将虚拟机按时刻t+1预估资源负载量进行降序排列,选择未来资源负载排名前列的虚拟机进行迁出,同时,使得当前物理机能够满足剩下的虚拟机的时刻t+1时的资源需求;
当物理机处于低载状态时,将所有虚拟机都迁移出当前物理机。
所述物理机过载情况包括CPU利用率大于80%,所述物理机低载情况包括CPU利用率小于20%
所述选择所迁出虚拟机待迁入的物理机,具体包括:
根据需要迁入的虚拟机的资源需求与数据中心中所有物理机的资源信息,从中选取用于安置迁移虚拟机的物理机。
选择策略是对所有满足虚拟机资源分配要求的物理机预估其时刻t+1工作负载,根据预估情况划分资源需求缩减队列和资源需求扩大队列,通过进一步筛选确定目的物理机,具体步骤包括:
(a)计算各物理机上的资源需求伸缩量,其值为当前物理机上所有虚拟机时刻t+1的工作负载预估总量减去当前时刻工作负载总量,它反应了虚拟机资源需求的变化趋势;
(b)通过物理机资源总量减去当前时刻资源负载总量来计算未分配资源量,筛选出未分配资源量与资源需求伸缩量之间的差值即预计剩余资源量大于零的物理机列表,形成候选物理机列表;
(c)如果资源需求伸缩量为负值,则加入资源需求缩小队列,并计算剩余资源量与资源伸缩量的差值以降序排列。若为正值,则加入资源需求扩大队列,计算资源需求伸缩量与剩余资源量的比值作为安全调度因子,并依据该因子数值将队列按升序排列,如果一方队列为空,则直接选择另一方排位第一的物理机机做为待迁入的物理机,若都不为空,则进一步比较两个队列的首位物理机,选择其中一个作为待迁入的物理机。
基于资源负载预估的主动控制是一种前馈控制,通过预估***的未来工作负载情况来预先分析物理机发生过载或低载的可能性,并根据算法进行虚拟机整合,保证***处于最优状态。基于实际***状态信息的被动控制是一种反馈控制,通过监测单元等***组件收集各虚拟机运行过程中使用资源的实时信息以及数据中心、物理机的状态信息作为反馈,重新调整虚拟机在物理机上的部署。
通过预估技术提前获知资源负载的波动情况,可以让调度器部分更加从容地实施虚拟机迁移策略,起到有针对性地提前预防作用;又可以通过反馈技术获知调度策略的实际执行情况,对处于过载或低载状态的物理主机实施虚拟机迁移操作,起到实时地纠正控制作用。
所述对数据中心物理机当前时刻t的下一时刻t+1的资源负载情况进行预估,进一步包括:
统计当前物理机上用户信息;
使用启发式方法或K-邻近算法对用户在下一时刻t+1的所需资源U(t+1)进行预估,取U(t+1)和W(t+1)中值较大的作为下一时刻t+1当前物理机的资源负载值。
本发明提出了云计算环境下基于虚拟机的数据处理方法,提高了资源利用效率、减少任务处理时间。
本领域技术人员在考虑说明书及实践这里公开的发明后,将容易想到本发明的其它实施方案。本申请旨在涵盖本发明的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本发明的一般性原理并包括本发明未公开的本技术领域中的公知常识或惯用技术手段。
应当理解的是,本发明并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本发明的范围仅由所附的权利要求来限制。
Claims (1)
1.一种云计算环境下基于虚拟机的数据处理方法,所述方法包括:
(1)调度处理器接收用户的虚拟机任务请求,调度处理器根据当前各个数据中心的负载状态,将虚拟机任务请求转发给某一个数据中心;云计算环境中包含若干个数据中心,每个数据中心由若干个物理机组成;每个物理机中包括若干个虚拟机;
(2)数据中心在接到虚拟机任务请求之后,为该虚拟机任务请求找到一台物理机,将分配结果返回给调度处理器;
(3)调度处理器接收数据中心发来的虚拟机任务请求分配结果,并发送给用户;
调度处理器还用于接收数据中心发来的资源更新信息,并更新资源信息库;当某个数据中心的信息发生改变时,数据中心会给调度处理器发来更新后的信息,调度处理器收到之后,更新自身的数据库,保持与数据中心数据库的一致性,以便在分配虚拟机任务请求时使用;
调度处理器还用于管理数据中心,包括数据中心的注册和删除;当有新的数据中心需要加入到该云计算环境时,需要在调度处理器注册,将该数据中心的信息加入到调度处理器的数据库;当有数据中心需要删除时,在调度处理器的数据库将该数据中心的相应信息删除;
用户提交的虚拟机任务请求包括虚拟机使用的开始时间、结束时间、虚拟机的类型;
步骤(1)中所述调度处理器根据当前各个数据中心的负载状态,将虚拟机任务请求转发给某一个数据中心,具体包括:
调度处理器计算每个数据中心的资源负载值(XD1,…,XDi…,XDN),按照资源负载值由小到大的顺序为数据中心排队;其中,XDi表示第i个数据中心的资源负载值,N表示云资源环境下的数据中心个数;
选择数据中心队列中的第一个数据中心,将虚拟机任务请求转发到所述第一个数据中心;
所述第一个数据中心根据虚拟机任务请求,为用户分配物理机;若分配物理机失败,则将所述虚拟机任务请求转发到所述数据中心队列中的下一个数据中心,在下一个数据中心中为用户分配物理机,直至分配物理机成功或者所有数据中心分配物理机失败;
更新分配到虚拟机任务的物理机的剩余资源;
所述调度处理器计算每个数据中心的资源负载值(XD1,…,XDi…,XDN),具体包括:
VCPUj、VMEMj、VSTORj分别表示数据中心Di中虚拟机j所需要的CPU大小、内存大小、存储大小,M表示数据中心Di所包含的所有虚拟机的数量;
所述第一个数据中心根据虚拟机任务请求,为用户分配物理机,其包括:
首先根据用户请求的虚拟机类型将物理机按该类型的利用率升序排列,所述虚拟机类型包括CPU类型、内存类型、存储类型;
根据该类型的利用率将物理机划分成多个区间,每个区间的大小可以动态设置,然后找出利用率最低的物理机所在的区间的所有物理机,将虚拟机任务试分配在该区间的所有物理机上,分别计算该区间物理机分配虚拟机任务后每个物理机的CPU利用率,内存利用率,存储利用率三者的方差,得到每个物理机的负载均衡值;
选取负载均衡值最低的物理机开始分配虚拟机,只要分配该虚拟机任务后该物理机的容量没有超过阈值,则成功分配,否则取下一个负载均衡值次小的物理机进行分配,如果该区间所有物理机都不能分配,则取出下一个区间的物理机进行分配,直到分配成功为止;
把物理机划分成多个区间,每个区间的大小可以动态设置,每次都从利用率最小的物理机所在区间进行分配,这样能保证先将任务分配给利用率小的物理机,保证整个数据中心比较均衡;同时每次只从一个区间中寻找物理机大大的减少了算法的运行时间;
所述计算该区间物理机分配虚拟机任务后每个物理机的CPU利用率,内存利用率,存储利用率三者的方差,得到每个物理机的负载均衡值,具体包括:
CB=(AVG-CPU_U)2+(AVG-MEM_U)2+(AVG-STOR_U)2,
AVG=(CPU_U+MEM_U+STOR_U)/3
其中,CB表示物理机的负载均衡值,CPU_U、MEM_U、STOR_U分别表示物理机的CPU利用率、内存利用率、存储利用率,AVG表示物理机的CPU利用率、内存利用率、存储利用率的平均值;
所述第一个数据中心根据虚拟机任务请求,为用户分配物理机,其包括:
计算一个时间窗口T内所述第一个数据中心所接收到的所有虚拟机任务和该数据中心中所有物理机之间的资源负载矩阵;
根据所述资源负载矩阵为所述一个时间窗口T内所述第一个数据中心所接收到的所有虚拟机任务分配物理机;
所述计算一个时间窗口T内所述第一个数据中心所接收到的所有虚拟机任务和该数据中心中所有物理机之间的资源负载矩阵,具备包括:
计算一个时间窗口T内所述第一个数据中心所接收到的所有虚拟机任务中的每个虚拟机任务相对该数据中心中所有物理机中每个物理机的资源负载Vij,
其中,Vij表示一个时间窗口T内所述第一个数据中心所接收到的所有虚拟机任务中的第i个虚拟机任务相对该数据中心中对j个物理机的资源负载,
表示一个时间窗口T内所述第一个数据中心所接收到的所有虚拟机任务中的第i个虚拟机任务相对该数据中心中对j个物理机的CPU资源负载;TCPU i表示第i个虚拟机任务所需要的CPU资源,PCPU j表示第j个物理机剩余的可用CPU资源;
表示一个时间窗口T内所述第一个数据中心所接收到的所有虚拟机任务中的第i个虚拟机任务相对该数据中心中对j个物理机的内存资源负载;TMEM i表示第i个虚拟机任务所需要的内存资源,PMEM j表示第j个物理机剩余的可用内存资源;
表示一个时间窗口T内所述第一个数据中心所接收到的所有虚拟机任务中的第i个虚拟机任务相对该数据中心中对j个物理机的存储资源负载;TSTOR i表示第i个虚拟机任务所需要的存储资源,PSTOR j表示第j个物理机剩余的可用存储资源;
α、β、γ分别CPU资源负载权值、内存资源负载权值、存储资源负载权值,α、β、γ分别取值0.5、0.3、0.2;
所述资源负载矩阵表示为:
所述矩阵表示在一个时间窗口T内有m个可用的物理机,有n个需要被调度的虚拟机任务请求,Vij代表第i个任务在第j个物理机上的负载值V;
所述根据所述资源负载矩阵为所述一个时间窗口T内所述第一个数据中心所接收到的所有虚拟机任务分配物理机,具体包括:
找出每个虚拟机任务的最小V值Vi,即针对矩阵的每一行,找出每一行的最小值;
Vi=min{Vi1,Vi2,…,Vim};
然后,找出这些最小值中的最大值Vmax,
Vmax=max{V1,V2,…,Vn};
找出Vmax所在的任务i,该任务就是第一个将要被分配的任务,它将被调度到该任务所在行的Vij是Vmax的下j所代表的第j个物理机上;随后删除任务i在矩阵中的那一行,并更新矩阵中的其它任务在第j个节点上的L值,即都加上Vmax,这是因为其它任务如果要在第j个物理机上执行需要等待任务i执行,故它们的L值要加上Vmax;矩阵更新完毕后进行下一个任务调度的计算,重复以上过程,并最终确定了所有任务的调度顺序和调度去向;
所述云计算环境下基于虚拟机的数据处理方法,
对数据中心物理机当前时刻t的下一时刻t+1的资源负载情况进行预估;
根据物理机物理机当前时刻t的资源负载和下一时刻t+1的资源负载,选择需要迁出虚拟机的物理机以及所迁出虚拟机待迁入的物理机;
所述对数据中心物理机当前时刻t的下一时刻t+1的资源负载情况进行预估,具体包括:
W(t+1)=μW(t)+δW(t-1)+ωW(t-2),其中W(t+1)、W(t)、W(t-1)、W(t-2)分别表示时刻t+1、t、t-1、t-2时物理机的资源负载,μ、δ、ω为权值,分别取值0.5、0.3、0.2;
所述选择需要迁出虚拟机的物理机,具体包括:
当物理机发生过载情况时和低载情况时,根据当前状态将该物理机上的部分或全部虚拟机迁移到其它物理机上运行;
当物理机处于过载状态时,将虚拟机按时刻t+1预估资源负载量进行降序排列,选择未来资源负载排名前列的虚拟机进行迁出,同时,使得当前物理机能够满足剩下的虚拟机的时刻t+1时的资源需求;
当物理机处于低载状态时,将所有虚拟机都迁移出当前物理机;
所述物理机过载情况包括CPU利用率大于80%,所述物理机低载情况包括CPU利用率小于20%
所述选择所迁出虚拟机待迁入的物理机,具体包括:
根据需要迁入的虚拟机的资源需求与数据中心中所有物理机的资源信息,从中选取用于安置迁移虚拟机的物理机;
选择策略是对所有满足虚拟机资源分配要求的物理机预估其时刻t+1工作负载,根据预估情况划分资源需求缩减队列和资源需求扩大队列,通过进一步筛选确定目的物理机,具体步骤包括:
(a)计算各物理机上的资源需求伸缩量,其值为当前物理机上所有虚拟机时刻t+1的工作负载预估总量减去当前时刻工作负载总量,它反应了虚拟机资源需求的变化趋势;
(b)通过物理机资源总量减去当前时刻资源负载总量来计算未分配资源量,筛选出未分配资源量与资源需求伸缩量之间的差值即预计剩余资源量大于零的物理机列表,形成候选物理机列表;
(c)如果资源需求伸缩量为负值,则加入资源需求缩小队列,并计算剩余资源量与资源伸缩量的差值以降序排列;若为正值,则加入资源需求扩大队列,计算资源需求伸缩量与剩余资源量的比值作为安全调度因子,并依据该因子数值将队列按升序排列,如果一方队列为空,则直接选择另一方排位第一的物理机机做为待迁入的物理机,若都不为空,则进一步比较两个队列的首位物理机,选择其中一个作为待迁入的物理机;
基于资源负载预估的主动控制是一种前馈控制,通过预估***的未来工作负载情况来预先分析物理机发生过载或低载的可能性,并根据算法进行虚拟机整合,保证***处于最优状态;基于实际***状态信息的被动控制是一种反馈控制,通过监测单元等***组件收集各虚拟机运行过程中使用资源的实时信息以及数据中心、物理机的状态信息作为反馈,重新调整虚拟机在物理机上的部署;
通过预估技术提前获知资源负载的波动情况,可以让调度器部分更加从容地实施虚拟机迁移策略,起到有针对性地提前预防作用;又可以通过反馈技术获知调度策略的实际执行情况,对处于过载或低载状态的物理主机实施虚拟机迁移操作,起到实时地纠正控制作用;
所述对数据中心物理机当前时刻t的下一时刻t+1的资源负载情况进行预估,进一步包括:
统计当前物理机上用户信息;
使用启发式方法或K-邻近算法对用户在下一时刻t+1的所需资源U(t+1)进行预估,取U(t+1)和W(t+1)中值较大的作为下一时刻t+1当前物理机的资源负载值。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710463745.5A CN107273211B (zh) | 2017-06-19 | 2017-06-19 | 一种云计算环境下基于虚拟机的数据处理方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710463745.5A CN107273211B (zh) | 2017-06-19 | 2017-06-19 | 一种云计算环境下基于虚拟机的数据处理方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN107273211A CN107273211A (zh) | 2017-10-20 |
CN107273211B true CN107273211B (zh) | 2020-11-27 |
Family
ID=60067847
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201710463745.5A Active CN107273211B (zh) | 2017-06-19 | 2017-06-19 | 一种云计算环境下基于虚拟机的数据处理方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN107273211B (zh) |
Families Citing this family (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110764896A (zh) * | 2018-07-25 | 2020-02-07 | 北京京东金融科技控股有限公司 | 资源分配方法、***及计算机***和计算机可读存储介质 |
CN109376006B (zh) * | 2018-09-04 | 2021-09-21 | 西安电子科技大学 | 一种云计算环境下基于用户需求时变特性的资源整合方法 |
CN111381928B (zh) * | 2018-12-28 | 2021-05-25 | 中兴通讯股份有限公司 | 一种虚拟机迁移方法、云计算管理平台和存储介质 |
CN110196772B (zh) * | 2019-04-22 | 2023-05-23 | 河南工业大学 | 一种云数据中心环境下考虑容错机制的虚拟机调度方法 |
US11720403B2 (en) * | 2019-04-24 | 2023-08-08 | Google Llc | System for commitment-aware workload scheduling based on anticipated resource consumption levels |
CN113722338A (zh) * | 2020-05-25 | 2021-11-30 | 中移(苏州)软件技术有限公司 | 一种数据同步方法、数据同步装置、电子设备及存储介质 |
CN111857958B (zh) * | 2020-07-23 | 2024-02-27 | 深信服科技股份有限公司 | 一种虚拟机的交互方法、装置、设备及存储介质 |
CN112162856A (zh) * | 2020-09-23 | 2021-01-01 | 武汉联影医疗科技有限公司 | Gpu虚拟资源的分配方法、装置、计算机设备和存储介质 |
CN117407143B (zh) * | 2023-10-27 | 2024-07-12 | 北京德仕美通电子有限公司 | 一种基于云计算的数据中心管理*** |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6347309B1 (en) * | 1997-12-30 | 2002-02-12 | International Business Machines Corporation | Circuits and method for shaping the influence field of neurons and neural networks resulting therefrom |
CN105279023A (zh) * | 2015-11-27 | 2016-01-27 | 浪潮(北京)电子信息产业有限公司 | 一种虚拟机迁移方法和装置 |
CN105302632A (zh) * | 2015-11-19 | 2016-02-03 | 国家电网公司 | 一种云计算工作负载动态整合方法 |
CN106933650A (zh) * | 2017-03-03 | 2017-07-07 | 北方工业大学 | 云应用***的负载管理方法及*** |
-
2017
- 2017-06-19 CN CN201710463745.5A patent/CN107273211B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6347309B1 (en) * | 1997-12-30 | 2002-02-12 | International Business Machines Corporation | Circuits and method for shaping the influence field of neurons and neural networks resulting therefrom |
CN105302632A (zh) * | 2015-11-19 | 2016-02-03 | 国家电网公司 | 一种云计算工作负载动态整合方法 |
CN105279023A (zh) * | 2015-11-27 | 2016-01-27 | 浪潮(北京)电子信息产业有限公司 | 一种虚拟机迁移方法和装置 |
CN106933650A (zh) * | 2017-03-03 | 2017-07-07 | 北方工业大学 | 云应用***的负载管理方法及*** |
Non-Patent Citations (2)
Title |
---|
"云数据中心中基于虚拟机迁移的负载均衡算法研究";吉新华;《中国优秀硕士学位论文全文数据库 信息科技辑》;20160315;第1章-第5章 * |
"多数据中心负载均衡调度的研究";孙夏爽;《中国优秀硕士学位论文全文数据库 信息科技辑》;20140131;第1章-第5章 * |
Also Published As
Publication number | Publication date |
---|---|
CN107273211A (zh) | 2017-10-20 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107273211B (zh) | 一种云计算环境下基于虚拟机的数据处理方法 | |
CN107273185B (zh) | 一种基于虚拟机的负载均衡控制方法 | |
Sefati et al. | Load balancing in cloud computing environment using the Grey wolf optimization algorithm based on the reliability: performance evaluation | |
Moharana et al. | Analysis of load balancers in cloud computing | |
JP6254948B2 (ja) | 分散コンピューティング環境内で仮想マシンのプールにジョブを割り当て仮想マシン上でタスクを実行するための方法、プログラム、プログラムを格納した記憶媒体、及びシステム | |
JP2015507279A (ja) | Paas階層スケジューリングおよび自動スケーリング | |
WO2011029253A1 (zh) | 一种Web负载均衡方法、网格服务器及*** | |
Janakiraman et al. | Improved artificial bee colony using monarchy butterfly optimization algorithm for load balancing (IABC-MBOA-LB) in cloud environments | |
Sumathi et al. | HHO-ACO hybridized load balancing technique in cloud computing | |
KR100718907B1 (ko) | 퍼지 그룹핑 기반의 로드 밸런싱 시스템 및 그 로드 밸런싱방법 | |
Sonkar et al. | A review on resource allocation and VM scheduling techniques and a model for efficient resource management in cloud computing environment | |
Zaouch et al. | Load balancing for improved quality of service in the cloud | |
Vashistha et al. | Comparative study of load balancing algorithms | |
Keerthika et al. | A multiconstrained grid scheduling algorithm with load balancing and fault tolerance | |
CN107168805A (zh) | 一种基于虚拟机的资源调度方法 | |
Singhal et al. | Load balancing algorithm in cloud computing using mutation based pso algorithm | |
Jaiswal et al. | An approach towards the dynamic load management techniques in cloud computing environment | |
Sultan et al. | Challenges of Load Balancing Techniques in Cloud Environment: A Review | |
Vidya et al. | Response time analysis of dynamic load balancing algorithms in Cloud Computing | |
Azmat et al. | A novel approach towards an efficient load balancing algorithm in cloud computing | |
Chowdhury et al. | Clustered based VM placement strategies | |
Tasneem et al. | An insight into load balancing in cloud computing | |
Mosleh et al. | A novel fuzzy QOS based improved honey bee behavior algorithm for efficient load balancing in cloud | |
Patni et al. | Distributed approach of load balancing in dynamic grid computing environment | |
Panigrahi et al. | Green Cloud Computing: An Emerging Trend of GIT in Cloud Computing |
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 | ||
TA01 | Transfer of patent application right | ||
TA01 | Transfer of patent application right |
Effective date of registration: 20201109 Address after: 100089 301B, F3, standard building, No. 3, Yongjie North Road, Haidian District, Beijing Applicant after: BEIJING GW TECHNOLOGIES Co.,Ltd. Applicant after: GW DELIGHT TECHNOLOGY Co.,Ltd. Address before: The middle Tianfu Avenue in Chengdu city Sichuan province 610000 No. 1388 1 7 storey building No. 772 Applicant before: CHENGDU DINGZHIHUI TECHNOLOGY Co.,Ltd. |
|
GR01 | Patent grant | ||
GR01 | Patent grant |