[发明专利]一种云计算环境下基于虚拟机的数据处理方法有效
申请号: | 201710463745.5 | 申请日: | 2017-06-19 |
公开(公告)号: | CN107273211B | 公开(公告)日: | 2020-11-27 |
发明(设计)人: | 许驰 | 申请(专利权)人: | 北京格林威尔科技发展有限公司;北京格林伟迪科技股份有限公司 |
主分类号: | G06F9/50 | 分类号: | G06F9/50;G06F9/455 |
代理公司: | 北京酷爱智慧知识产权代理有限公司 11514 | 代理人: | 邹成娇 |
地址: | 100089 北京市海*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 计算 环境 基于 虚拟机 数据处理 方法 | ||
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资源负载;TCPUi表示第i个虚拟机任务所需要的CPU资源,PCPUj表示第j个物理机剩余的可用CPU资源;
表示一个时间窗口T内所述第一个数据中心所接收到的所有虚拟机任务中的第i个虚拟机任务相对该数据中心中对j个物理机的内存资源负载;TMEMi表示第i个虚拟机任务所需要的内存资源,PMEMj表示第j个物理机剩余的可用内存资源;
表示一个时间窗口T内所述第一个数据中心所接收到的所有虚拟机任务中的第i个虚拟机任务相对该数据中心中对j个物理机的存储资源负载;TSTORi表示第i个虚拟机任务所需要的存储资源,PSTORj表示第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当前物理机的资源负载值。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京格林威尔科技发展有限公司;北京格林伟迪科技股份有限公司,未经北京格林威尔科技发展有限公司;北京格林伟迪科技股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201710463745.5/1.html,转载请声明来源钻瓜专利网。