CN104767824B - 一种云平台数据处理方法 - Google Patents

一种云平台数据处理方法 Download PDF

Info

Publication number
CN104767824B
CN104767824B CN201510194485.7A CN201510194485A CN104767824B CN 104767824 B CN104767824 B CN 104767824B CN 201510194485 A CN201510194485 A CN 201510194485A CN 104767824 B CN104767824 B CN 104767824B
Authority
CN
China
Prior art keywords
ram
physical host
resources
migration
host
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
Application number
CN201510194485.7A
Other languages
English (en)
Other versions
CN104767824A (zh
Inventor
马泳宇
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Shenzhen City Penghaiyun Electronic Data Exchange Co Ltd
Original Assignee
Chengdu Rui Feng Science And Technology Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Chengdu Rui Feng Science And Technology Ltd filed Critical Chengdu Rui Feng Science And Technology Ltd
Priority to CN201510194485.7A priority Critical patent/CN104767824B/zh
Publication of CN104767824A publication Critical patent/CN104767824A/zh
Application granted granted Critical
Publication of CN104767824B publication Critical patent/CN104767824B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5061Partitioning or combining of resources
    • G06F9/5077Logical partitioning of resources; Management or configuration of virtualized resources

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本发明提供了一种云平台数据处理方法,该方法包括:用户提交业务请求,云平台服务器按照预定的策略,根据用户业务的需求和约束选择满足需求的物理主机作为目标物理主机;将虚拟机进行迁移,所述迁移内容包含处理器状态迁移、RAM页迁移和网络接口的迁移。本发明提出了一种云平台数据处理方法,进一步优化了虚拟机的迁移过程,减小了性能和资源消耗,降低了总的迁移时间。

Description

一种云平台数据处理方法
技术领域
本发明涉及一种虚拟机的迁移方法。
背景技术
虚拟机在线迁移技术为云计算平台资源管理,从而实现服务器之间负载动态平衡,避免产生热点提供了解决方案。现有虚拟机在线迁移技术,将网络重定向局限在局域网内,或采用主动地址解析协议技术,或广播更新交换机地址表中MAC地址与端口号映射。以上方案在一定程度上优化了虚拟机的迁移过程,实现了网内动态迁移虚拟机迁移,但是也需要相当大的资源消耗,总的迁移时间较长。
因此,针对相关技术中所存在的上述问题,目前尚未提出有效的解决方案。
发明内容
为解决上述现有技术所存在的问题,本发明提出了一种云平台数据处理方法,包括:
用户提交业务请求,云平台服务器按照预定的策略,根据用户业务的需求和约束选择满足需求的物理主机作为目标物理主机;在选择了目标物理主机之后,将虚拟机进行迁移,所述迁移内容包含处理器状态迁移、RAM页迁移和网络接口的迁移,迁移过程包括预复制、迭代复制、停机复制和后迁移。
优选地,所述方法进一步包括:
源物理计算机即源主机A要迁移其上的一个虚拟机VM,通过socket向目的物理计算机即主机B发起动态迁移的请求之前,先检测B的资源是否满足需求,若满足,则向B预定资源,若不满足,则选择其他主机作为VM的新主机;然后主机A以迭代的方式将VM的RAM页复制到主机B上,每次迭代只复制前一次传送过程中被修改过的页面,直到迭代复制结束;然后进行停机复制,即主机A上的VM把网络连接重定向到B,传送处理器状态和前一次传送过程中修改过的页;主机A收到了主机B成功接收VM的映像的消息,停止运行其上的VM;最后,启动已经迁移到B上的VM,迁移后使用B的设备驱动,广播新的IP地址。
优选地,其中RAM迭代复制的步骤包括:
在第一轮复制,复制所有的RAM页;在第二轮复制,复制在第一轮迭代过程中修改过但在本轮并没有被修改的RAM页;第n轮复制的是在第n-1轮迭代过程中修改过但在本轮没有修改的页,每次迭代迭代结束后,判断迭代次数是否达到定义的最大迭代次数或某轮迭代过程中被修改的页数是否小于最大修改页数,如果满足则进入停机复制,把源服务器上剩余的被修改的RAM页都复制到目的服务器上;如果不满足,则继续迭代。
优选地,其中RAM迭代复制的步骤包括:
首先定义虚拟机动态迁移过程中系统确定的停止RAM迭代复制的固定的脏页数即预定脏页数,迭代过程执行直到RAM脏页数少于这个固定脏页数则停止;
将RAM页划分为若干块,定义块的大小为64M,虚拟机动态迁移进行RAM迭代复制时,分别由独立的线程来完成RAM迭代复制;
定义三种页位图来区分动态迁移过程中RAM页的修改状态:send、skip、fix,其分别表示上轮迭代过程中出现的脏页、本轮迭代过程中出现的脏页、停机复制阶段传送的页;
建立线程池,包括一个调度线程和多个工作线程;
将RAM分块,根据RAM大小分成相应块数,并记录每块RAM页的最小page_min和最大编码page_max;
变量初始化,包括迭代次数itn=0、发送过的脏页数sent_itn=0以及是否最后一轮标识last_itn=0;
调度线程开始一轮迭代,唤醒工作线程,每个工作线程实现脏页检查和复制;
如果迭代次数达到预设次数阈值或者本轮迭代页面与本轮被修改页面之和小于预设页数阈值,则将last_itn置为1,进入最后一轮,即停机复制阶段,否则重复执行新的一轮迭代。
本发明相比现有技术,具有以下优点:
本发明提出了一种云平台数据处理方法,进一步优化了虚拟机的迁移过程,减小了性能和资源消耗,降低了总的迁移时间。
附图说明
图1是根据本发明实施例的云平台数据处理方法的流程图。
具体实施方式
下文与图示本发明原理的附图一起提供对本发明一个或者多个实施例的详细描述。结合这样的实施例描述本发明,但是本发明不限于任何实施例。本发明的范围仅由权利要求书限定,并且本发明涵盖诸多替代、修改和等同物。在下文描述中阐述诸多具体细节以便提供对本发明的透彻理解。出于示例的目的而提供这些细节,并且无这些具体细节中的一些或者所有细节也可以根据权利要求书实现本发明。
本发明的一方面提供了一种云平台数据处理方法。图1是根据本发明实施例的云平台数据处理方法流程图。本发明在云计算环境下虚拟机的迁移过程主要可以分为三个阶段:
(1)用户提交业务请求,云平台服务器按照预定的策略,根据用户业务的需求和约束选择某台满足需求的物理主机作为目标物理主机,并将用户请求转发给物理主机的虚拟机管理模块;
(2)目标物理主机上的虚拟机管理模块根据云平台服务器传递的业务需求请求,从虚拟机模板库中选择符合要求的模板,并通过数据传输模块将其传输到物理主机;
(3)目标物理主机上的虚拟机管理模块根据其上的数据传输模板返回的模板创建和实例化虚拟机。
在云计算环境下,用户向云平台服务器提交请求通过用户资源请求矢量表示,用户业务对资源的需求为处理器资源、RAM资源、磁盘资源和带宽资源,因此,用户资源请求矢量可以表示为:
Vu={Cu,Mu,Hu,Bu}
其中,Cu表示处理器资源,Mu表示RAM资源,Hu表示磁盘资源,Mu表示带宽资源,由于不同业务的需求不同,如计算型业务需要较高性能的处理器,数据传输对带宽具有较高要求,因此,对业务需求的各维分量进行加权,可以表示为:
Vu′={Cuλ1,Muλ2,Huλ3,Buλ4}
λ1、λ2、λ3和λ4分别表示业务需求中处理器资源、RAM资源、磁盘资源和带宽资源在用户业务需求中分别占有的权值,且满足:
λ1234=1
云平台服务器接收到用户资源请求矢量后,开始在物理主机群中广播用户业务需求,各物理主机接收到用户资源请求矢量后,对各自的负载进行估计。
为了对t+1时刻的物理主机负载进行判断,采用加权估计方法,即t+1时刻的物理主机负载可以表示为过去t个时刻的历史观测值的加权。物理主机各性能参数的顺势峰值或谷值影响了其下一刻性能参数的估计,所以,只有在历史观测值持续一段时间后,才将其用于进行估计,否则让其对应的权值为0,在对历史观测值进行加权时,对与当前时刻越近的历史值赋予越大的权值,则t+1时刻,物理主机的负载估计值可以表示为:
Ci、Mi、Hi和Bi为时刻i对应的处理器资源、RAM资源、磁盘资源和带宽资源,wi是时间序列在时刻i对应的权值。
当各目标物理主机的负载估计完毕后,首先要对目标物理主机进行筛选,对负载大于某预设最大阈值Pmax或负载小于某预设最小阈值Pmin的物理主机上的虚拟机进行迁移,对负载大于阈值Pmin和小于阈值Pmax的物理主机部署虚拟机,以提高物理主机的利用率和实现负载均衡。
当对物理主机的负载进行估计并通过阈值进行筛选后,对于负载大于阈值Pmin和小于阈值Pmax的物理主机加入物理主机集合S,计算其与资源请求矢量之间的适配矢量,其中物理主机的性能矢量可以表示为:
Vm={C′,M′,H′,B′}
其中,C′、M′、H′和B′表示物理主机的处理器资源、RAM资源、磁盘资源和带宽资源可用值,可以通过下式获得:
C′=Cmax-C-CR
M′=Mmax-M-MR
H′=Hmax-H-HR
B′=Bmax-B-BR
CR、MR、HR和BR为各物理主机为维持虚拟机监视器、操作系统等正常运行需要的最少资源,Cmax、Mmax、Hmax和Bmax表示物理主机的总处理器资源、总RAM资源、总磁盘资源和总带宽资源,C、M、H和B为根据以上估计的当前物理主机的各性能指标的负载值。
虚拟机和物理主机之间的适配矢量可以表示为:
D={C′-Cuλ1,M′-Muλ2,H′-Huλ3,B′-Buλ4}
当某项为负数时,说明此物理主机不能满足用户业务需求,否则,物理主机向云平台服务器返回物理主机号和适配矢量。
当云平台服务器获得了所有物理主机发送的适配距离矢量后,选择业务与各物理主机D之间的距离。然后对所有物理主机D求其平均值Davg,对于D>Davg的所有物理主机,选取具有最小D值的物理主机作为最优适配物理主机,并在其上部署虚拟机。
将Davg作为选择目标物理主机的阈值是由于一方面为了使得物理主机更高效的利用,即将性能更高的资源预留给更高需求的虚拟机,另一方面尽量使得系统负载均衡。
对于需要迁移的虚拟机,即估计负载大于预设最大阈值Pmax或小于某预设最小阈值Pmin的物理主机上的虚拟机,进行虚拟机迁移,以节约能量和实现负载均衡。
虚拟机的迁移同样要选择目标物理主机,目标物理主机的选取过程如下:
(1)待迁移物理主机向其通信范围内的各物理主机发送虚拟机迁移请求;
(2)各物理主机接收到虚拟机迁移请求后,各物理主机计算各项可用资源,获得性能矢量;
(3)获得虚拟机需求与物理主机性能矢量之间的适配矢量,并将其发送给待迁移物理主机;
(4)待迁移物理主机收到各物理主机的适配矢量后,计算相互之间的距离,并按照选择部署物理主机同样的方式选择目标物理主机进行迁移。
根据本发明的进一步实施例,在选择了目标物理主机之后,虚拟机的迁移内容主要包含处理器状态、RAM页和网络接口的迁移,其过程包括预复制、迭代复制、停机复制和后迁移阶段。
虚拟机动态迁移时间包括迭代复制时间及停机复制时间,其中,迭代复制时间是指从预复制的第一次迭代开始到整个迭代结束花费的时间,停机复制时间是指虚拟机真正停止工作的时间。
本发明把源物理计算机记为主机A,目的物理计算机记为主机B,虚拟机记为VM。源主机A要迁移其上的一个虚拟机VM,则首先选择一个目的计算机作为VM的新主机,通过socket向主机B发起动态迁移的请求;先检测B的资源是否满足需求,若满足,则向B预定资源,若不满足,则选择其他主机作为VM的新主机;接着,主机A以迭代的方式将VM的RAM页复制到主机B上,每次迭代只复制前一次传送过程中被修改过的页面,直到迭代复制结束;之后进行停机复制,即主机A上的VM把网络连接重定向到B,处理器状态和前一次传送过程中修改过的页都在这个步骤被传送;主机A收到了主机B成功接收VM的映像的消息,停止运行其上的VM;最后,启动已经迁移到B上的VM,迁移后使用B的设备驱动,广播新的IP地址。至此,完成整个虚拟机的动态迁移。
其中RAM迭代复制过程的主要步骤如下:
(1)第一轮复制,复制所有的RAM页;
(2)第二轮复制,复制在第一轮迭代过程中修改过但在本轮并没有被修改的RAM页;
(3)以此类推,第n轮复制的是在第n-1轮迭代过程中修改过但在本轮没有修改的页。且每次迭代迭代结束后,判断迭代次数是否达到定义的最大迭代次数或某轮迭代过程中被修改的页数是否小于50,如果满足就进入停机复制步骤,把源服务器上剩余的被修改的RAM页都复制到目的服务器上;如果不满足,则继续迭代。
迭代复制过程迁移时间明显少于静态迁移,但在高负载情况下,RAM页的动态变化非常频繁,导致动态迁移过程中迭代复制时间延长,迁移性能下降。
要进行高效的虚拟机动态迁移,关键是要找到一个最佳的停止迭代复制并进行停机复制的时机,以缩短虚拟机动态迁移过程中RAM迭代复制的时间及停机复制时间,从而提升虚拟机迁移效率。本发明以缩短RAM迭代复制时间为目标,改进为以下迭代复制方法。
首先定义虚拟机动态迁移过程中系统确定的停止RAM迭代复制的固定的脏页数,称为预定脏页数,即迭代过程执行直到RAM脏页数少于这个固定脏页数停止。要缩短迭代复制的时间,就要找到最快到达迭代复制停止的点,这样可以较快结束迭代复制。
该方法将RAM页划分为若干块,本发明定义块的大小为64M,如果虚拟机分配了128M物理RAM,则可划分为2块,以此类推。虚拟机动态迁移进行RAM迭代复制时,分别由独立的线程来完成RAM迭代复制,让每次迭代迭代过程中产生的脏页数小于预定脏页数的概率变大,从而有效提升迁移效率。
定义三种页位图来区分动态迁移过程中RAM页的修改状态:send、skip、fix,其分别表示上轮迭代过程中出现的脏页、本轮迭代过程中出现的脏页、停机复制阶段传送的页。
基于RAM分片迭代机制的核心过程步骤如下:
(1)建立线程池,包括一个调度线程和多个工作线程;
(2)RAM分块,根据RAM大小分成相应块数,并记录每块RAM页的最小page_min和最大编码page_max;
(3)变量初始化,包括迭代次数itn=0、发送过的脏页数sent_itn=0以及是否最后一轮标识last_itn=0等;
(4)开始一轮迭代,即调度线程,唤醒工作线程,每个工作线程实现脏页检查和复制,具体过程描述为:
4.1RAM页编号初始化为page_min;
4.1将本轮目前的脏页复制到skip中;
4.2对于每个RAM页,如果last_itn或send为1,并且skip为0,则将该页置于缓冲区中;
4.3若缓冲区已满,则传送缓冲区中的RAM页
4.4递增RAM页编号,返回步骤4.2,直到RAM页编号达到page_max为止
(5)如果迭代次数达到预设次数阈值(30次)或者本轮迭代页面与本轮被修改页面之和小于预设页数阈值,则将last_itn置为1,进入最后一轮,即停机复制阶段,否则重复执行第(4)步,执行新的一轮迭代。
在上述虚拟机迁移的方法的基础上,针对跨网段虚拟机迁移,本发明在另一方面进一步将IP协议进行映射域动态自适应改进后运用于云计算虚拟机迁移系统,针对映射域间微移动频繁情况,使用映射域动态自适应方式来进行映射域的设定,从而提高虚拟机迁移效率。
云平台服务器通过和虚拟机监视器通信,监视云计算平台中物理资源的使用情况,依据负载均衡策略对通信对端指定虚拟机服务并帮助完成虚拟机迁移请求。在实际使用中为防止云平台服务器单点故障所造成的系统崩溃,增加冗余服务器。当虚拟机监视器多次与主云平台服务器交互失败后则激活冗余服务器进行服务接管。
因进行虚拟机迁移的需要,每个具备支持移动功能实现虚拟机迁移的物理主机需运行虚拟机监视器。该虚拟机监视器主要用于:
(1)生成临时转发地址。
(2)提供信道通信支持。
(3)与云平台服务器的资源监控模块交互帮助云计算模块决定迁移策略。
(4)记录阶段迁移行为记录。
现假定云平台服务器依据负载均衡系统作出,令r1连接物理主机上运行的虚拟机sv,向r2连接的物理主机进行虚拟机迁移的请求(域间迁移),本发明令迁移后目的虚拟机为dv。此时本发明再假设sv的迁移行为,可为相邻映射域关联权值增加1(即该虚拟机所在物理机已曾在1分钟内与目的物理主机进行过一次虚拟机迁移),且相邻映射域关联权值在加后值为5。则根据本发明的实验假设相邻映射域关联权值到达5已构成映射域间频繁迁移,应进行映射域扩大。
迁移设计步骤如下:
(1)云平台服务器作出迁移请求后将其迁移请求发送给sv所在物理机的虚拟机监视器。
(2)该虚拟机监视器向映射域发送路由请求代理信息请求获得相关信息。
(3)若映射域发现其为域间迁移则向云平台服务器请求目的区域映射域信息与路由器路由地址。
(4)云平台服务器向迁移目的主机所在虚拟机监视器请求区域映射域信息与路由器路由地址,并将其发送给源请求映射域。
(5)源映射域即发送路由通告数据包给sv所在物理机的虚拟机监视器,该虚拟机监视器可据此获取映射域信息与路由器路由地址。
(6)虚拟机监视器可用选定获取的映射域信息构造路由转发地址,路由转发地址与映射域具有相同的前缀;并用获取的路由器路由地址构造链路转发地址,链路转发地址与路由器路由地址具有相同的前缀。
(7)源映射域此时会将需传送给sv的数据包暂存,同时将配置地址信息以将发起数据包发送给新接入的路由器,要求其对地址配置进行验证。收到发起数据包后新接入的路由器会进行IP检测,验证其IP合法性。
(8)新接入的路由器重复地址检测,确认地址有效性并发送切换确认信号,作为对发起信息的确认,同时用来建立源映射域和新接入的路由器之间的信道,使得缓存下来的发向前端接入的路由器的分组发向新接入的路由器。
(9)随后sv开始实际虚拟机迁移,当sv迁移至新网络时即为dv,dv即发送更新包给目的映射域,此更新包包含路由转发地址与链路转发地址信息。映射域会记录两者相互映射信息,并将其插入绑定表中,完成后回传确认信息给dv。
(10)dv同时传送更新包给源映射域与通信节点,此更新包包含主地址与路由转发地址。
迁移完成后,云平台服务器开始启动映射域动态自适应行为,步骤如下:
(1)sv上虚拟机监视器根据本次迁移行为,计算在一分钟内是否曾出现本次迁移中源物理机与目的物理机之间的虚拟机迁移,如曾出现,则向其前端接入的路由器、新接入的路由器发送关联权值加1的请求。
(2)前端接入的路由器、新接入的路由器接收到请求后,验证其配对主机是否已对该关联权值进行过累加,如有则不予累加,否则关联权值加1。
(3)云平台服务器向映射域中虚拟机监视器针对迁移至目的映射域请求阶段迁移行为记录。
(4)该虚拟机监视器则返回其阶段迁移行为记录给云平台服务器,云平台服务器随后根据希望迁移的具体位置向具体物理机上运行的虚拟机监视器请求区域映射域信息(其映射域信息应包括相邻映射域地址信息、本映射域地址信息和映射域权值)。
(5)云平台服务器判断映射域权值,如果已大于5,则认为应该进行映射域扩大。
(6)假定此刻映射域权值已经等于5,则开始进行映射域调整。
(7)该映射域亦按照虚拟机迁移方式进行,此刻,本发明依据其迁移位置的变化为相邻映射域的性质,作出r2映射域作为虚拟机迁移合并至r1。
(8)映射域迁移完成后,sv迁移至dv行为已由域间迁移变为了域内迁移。
现给出sv迁移至dv的虚拟机域内迁移设计步骤:
(1)云平台服务器作出迁移请求后将其迁移请求发送给sv所在物理机的虚拟机监视器。该虚拟机监视器向映射域发送路由请求代理信息请求获得新接入的路由器相关信息。
(2)后映射域即发送路由通告数据包,该虚拟机监视器可据此获取新接入的路由器前缀地址信息。
(3)虚拟机监视器可以将新接入的路由器前缀和本物理机MAC地址组成N链路转发地址,再将此地址以FBU传给映射域。
(4)映射域此时会将需传送给sv的数据包暂存,同时将N链路转发地址以切换发起数据包数据包送给新接入的路由器,要求其对N链路转发地址进行验证。收到Hi数据包后新接入的路由器会将N链路转发地址检测其IP合法性。
(5)新接入的路由器重复地址检测,确认地址有效性
并发送切换确认作为对HI信息的确认同时用来建立映射域和新接入的路由器之间的信道,使得缓存下来的发向前端接入的路由器的分组发向新接入的路由器。
(6)映射域收到确认信息之后发送快速绑定更新,确认消息给sv。此时,sv通过云平台服务器开始实际迁移。当sv迁移至新网络时即发送快速邻居通告消息给新接入的路由器。新接入的路由器收到请求后即转发分组给dv。
针对该次域内迁移,云平台服务器亦会启动映射域动态自适应行为,设计步骤如下:
(1)sv上虚拟机监视器根据本次迁移行为,计算在一分钟内是曾否出现本次迁移中源物理机与目的物理机之间的虚拟机迁移,如曾出现,则向其映射域发送关联权值加1的请求。
(2)映射域接收到请求后,验证其配对主机是否已对该关联权值进行过累加行为,如有则不予累加,否则关联权值加1分。
(3)云平台服务器向映射域中的虚拟机监视器针对映射域请求阶段迁移行为记录。
(4)虚拟机监视器则返回其阶段迁移行为记录给云平台服务器。
(5)云平台服务器判断映射域权值,如果已大于3,则认为不用进行映射域缩小改变。
(6)假定此刻映射域权值已经等于2,则开始进行映射域调整。
(7)该映射域亦按照虚拟机分离迁移方式进行。
(8)映射域迁移完成后,sv迁移至dv行为已由域内迁移变为了域间迁移。
综上所述,本发明提出了一种云平台数据处理方法,进一步优化了虚拟机的迁移过程,减小了性能和资源消耗,降低了总的迁移时间。
显然,本领域的技术人员应该理解,上述的本发明的各模块或各步骤可以用通用的计算系统来实现,它们可以集中在单个的计算系统上,或者分布在多个计算系统所组成的网络上,可选地,它们可以用计算系统可执行的程序代码来实现,从而,可以将它们存储在存储系统中由计算系统来执行。这样,本发明不限制于任何特定的硬件和软件结合。
应当理解的是,本发明的上述具体实施方式仅仅用于示例性说明或解释本发明的原理,而不构成对本发明的限制。因此,在不偏离本发明的精神和范围的情况下所做的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。此外,本发明所附权利要求旨在涵盖落入所附权利要求范围和边界、或者这种范围和边界的等同形式内的全部变化和修改例。

Claims (4)

1.一种云平台数据处理方法,其特征在于,包括:
用户提交业务请求,云平台服务器按照预定的策略,根据用户业务的需求和约束选择满足需求的物理主机作为目标物理主机;在选择了目标物理主机之后,将虚拟机进行迁移,迁移内容包含处理器状态迁移、RAM页迁移和网络接口的迁移,迁移过程包括预复制、迭代复制、停机复制和后迁移;
所述用户向云平台服务器提交请求通过用户资源请求矢量表示,用户业务对资源的需求为处理器资源、RAM资源、磁盘资源和带宽资源,用户资源请求矢量表示为:
Vu={Cu,Mu,Hu,Bu}
其中,Cu表示处理器资源,Mu表示RAM资源,Hu表示磁盘资源,Bu表示带宽资源,对业务需求的各维分量进行加权,表示为:
Vu′={Cuλ1,Muλ2,Huλ3,Buλ4}
λ1、λ2、λ3和λ4分别表示业务需求中处理器资源、RAM资源、磁盘资源和带宽资源在用户业务需求中分别占有的权值,且满足:
λ1234=1
云平台服务器接收到用户资源请求矢量后,开始在物理主机群中广播用户业务需求,各物理主机接收到用户资源请求矢量后,对各自的负载进行估计;
采用加权估计方法对t+1时刻的物理主机负载进行判断,即t+1时刻的物理主机负载表示为过去t个时刻的历史观测值的加权;只有在历史观测值持续一段时间后,才将其用于进行估计,否则让其对应的权值为0,在对历史观测值进行加权时,对与当前时刻越近的历史值赋予越大的权值,则t+1时刻,物理主机的负载估计值表示为:
<mrow> <msub> <mi>C</mi> <mrow> <mi>t</mi> <mo>+</mo> <mn>1</mn> </mrow> </msub> <mo>=</mo> <munderover> <mo>&amp;Sigma;</mo> <mrow> <mi>i</mi> <mo>=</mo> <mn>1</mn> </mrow> <mi>t</mi> </munderover> <msub> <mi>w</mi> <mi>i</mi> </msub> <msub> <mi>C</mi> <mi>i</mi> </msub> <mo>,</mo> </mrow>
<mrow> <msub> <mi>M</mi> <mrow> <mi>t</mi> <mo>+</mo> <mn>1</mn> </mrow> </msub> <mo>=</mo> <munderover> <mo>&amp;Sigma;</mo> <mrow> <mi>i</mi> <mo>=</mo> <mn>1</mn> </mrow> <mi>t</mi> </munderover> <msub> <mi>w</mi> <mi>i</mi> </msub> <msub> <mi>M</mi> <mi>i</mi> </msub> <mo>,</mo> </mrow>
<mrow> <msub> <mi>H</mi> <mrow> <mi>t</mi> <mo>+</mo> <mn>1</mn> </mrow> </msub> <mo>=</mo> <munderover> <mo>&amp;Sigma;</mo> <mrow> <mi>i</mi> <mo>=</mo> <mn>1</mn> </mrow> <mi>t</mi> </munderover> <msub> <mi>w</mi> <mi>i</mi> </msub> <msub> <mi>H</mi> <mi>i</mi> </msub> <mo>,</mo> </mrow>
<mrow> <msub> <mi>B</mi> <mrow> <mi>t</mi> <mo>+</mo> <mn>1</mn> </mrow> </msub> <mo>=</mo> <munderover> <mo>&amp;Sigma;</mo> <mrow> <mi>i</mi> <mo>=</mo> <mn>1</mn> </mrow> <mi>t</mi> </munderover> <msub> <mi>w</mi> <mi>i</mi> </msub> <msub> <mi>B</mi> <mi>i</mi> </msub> </mrow>
Ci、Mi、Hi和Bi为时刻i对应的处理器资源、RAM资源、磁盘资源和带宽资源,wi是时间序列在时刻i对应的权值;
当各目标物理主机的负载估计完毕后,首先要对目标物理主机进行筛选,对负载大于某预设最大阈值Pmax或负载小于某预设最小阈值Pmin的物理主机上的虚拟机进行迁移,对负载大于阈值Pmin和小于阈值Pmax的物理主机部署虚拟机;
当对物理主机的负载进行估计并通过阈值进行筛选后,对于负载大于阈值Pmin和小于阈值Pmax的物理主机加入物理主机集合S,计算其与资源请求矢量之间的适配矢量,其中物理主机的性能矢量表示为:
Vm={C′,M′,H′,B′}
其中,C′、M′、H′和B′表示物理主机的处理器资源、RAM资源、磁盘资源和带宽资源可用值,可以通过下式获得:
C′=Cmax-C-CR
M′=Mmax-M-MR
H′=Hmax-H-HR
B′=Bmax-B-BR
CR、MR、HR和BR为各物理主机为维持虚拟机监视器、操作系统正常运行需要的最少资源,Cmax、Mmax、Hmax和Bmax表示物理主机的总处理器资源、总RAM资源、总磁盘资源和总带宽资源,C、M、H和B为根据以上估计的当前物理主机的各性能指标的负载值;
虚拟机和物理主机之间的适配矢量表示为:
D={C′-Cuλ1,M′-Muλ2,H′-Huλ3,B′-Buλ4}
当某项为负数时,说明此物理主机不能满足用户业务需求,否则,物理主机向云平台服务器返回物理主机号和适配矢量;
当云平台服务器获得了所有物理主机发送的适配距离矢量后,选择业务与各物理主机D之间的距离;然后对所有物理主机D求其平均值Davg,对于D>Davg的所有物理主机,选取具有最小D值的物理主机作为最优适配物理主机,并在其上部署虚拟机;
对于需要迁移的虚拟机,即估计负载大于预设最大阈值Pmax或小于某预设最小阈值Pmin的物理主机上的虚拟机,进行虚拟机迁移。
2.根据权利要求1所述的方法,其特征在于,所述方法进一步包括:
源物理计算机即源主机A要迁移其上的一个虚拟机VM,通过socket向目的物理计算机即主机B发起动态迁移的请求之前,先检测B的资源是否满足需求,若满足,则向B预定资源,若不满足,则选择其他主机作为VM的新主机;然后主机A以迭代的方式将VM的RAM页复制到主机B上,每次迭代只复制前一次传送过程中被修改过的页面,直到迭代复制结束;然后进行停机复制,即主机A上的VM把网络连接重定向到B,传送处理器状态和前一次传送过程中修改过的页;主机A收到了主机B成功接收VM的映像的消息,停止运行其上的VM;最后,启动已经迁移到B上的VM,迁移后使用B的设备驱动,广播新的IP地址。
3.根据权利要求2所述的方法,其中RAM迭代复制的步骤包括:
在第一轮复制,复制所有的RAM页;在第二轮复制,复制在第一轮迭代过程中修改过但在本轮并没有被修改的RAM页;第n轮复制的是在第n-1轮迭代过程中修改过但在本轮没有修改的页,每次迭代结束后,判断迭代次数是否达到定义的最大迭代次数或某轮迭代过程中被修改的页数是否小于最大修改页数,如果满足则进入停机复制,把源服务器上剩余的被修改的RAM页都复制到目的服务器上;如果不满足,则继续迭代。
4.根据权利要求2所述的方法,其中RAM迭代复制的步骤包括:
首先定义虚拟机动态迁移过程中系统确定的停止RAM迭代复制的固定的脏页数即预定脏页数,迭代过程执行直到RAM脏页数少于这个固定脏页数则停止;
将RAM页划分为若干块,定义块的大小为64M,虚拟机动态迁移进行RAM迭代复制时,分别由独立的线程来完成RAM迭代复制;
定义三种页位图来区分动态迁移过程中RAM页的修改状态:send、skip、fix,其分别表示上轮迭代过程中出现的脏页、本轮迭代过程中出现的脏页、停机复制阶段传送的页;
建立线程池,包括一个调度线程和多个工作线程;
将RAM分块,根据RAM大小分成相应块数,并记录每块RAM页的最小page_min和最大编码page_max;
变量初始化,包括迭代次数itn=0、发送过的脏页数sent_itn=0以及是否最后一轮标识last_itn=0;
调度线程开始一轮迭代,唤醒工作线程,每个工作线程实现脏页检查和复制;
如果迭代次数达到预设次数阈值或者本轮迭代页面与本轮被修改页面之和小于预设页数阈值,则将last_itn置为1,进入最后一轮,即停机复制阶段,否则重复执行新的一轮迭代。
CN201510194485.7A 2015-04-22 2015-04-22 一种云平台数据处理方法 Active CN104767824B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201510194485.7A CN104767824B (zh) 2015-04-22 2015-04-22 一种云平台数据处理方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201510194485.7A CN104767824B (zh) 2015-04-22 2015-04-22 一种云平台数据处理方法

Publications (2)

Publication Number Publication Date
CN104767824A CN104767824A (zh) 2015-07-08
CN104767824B true CN104767824B (zh) 2018-03-02

Family

ID=53649422

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201510194485.7A Active CN104767824B (zh) 2015-04-22 2015-04-22 一种云平台数据处理方法

Country Status (1)

Country Link
CN (1) CN104767824B (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109189557B (zh) * 2018-09-03 2021-11-05 郑州云海信息技术有限公司 一种面向高网络通信的虚拟机调度方法及系统

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102307133A (zh) * 2011-03-25 2012-01-04 国云科技股份有限公司 一种公有云平台虚拟机调度方法
CN103365704A (zh) * 2012-03-26 2013-10-23 中国移动通信集团公司 虚拟机迁移中的内存预拷贝方法及执行该方法的装置和系统

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7117242B2 (en) * 2001-06-20 2006-10-03 Hewlett-Packard Development Company, L.P. System and method for workload-aware request distribution in cluster-based network servers

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102307133A (zh) * 2011-03-25 2012-01-04 国云科技股份有限公司 一种公有云平台虚拟机调度方法
CN103365704A (zh) * 2012-03-26 2013-10-23 中国移动通信集团公司 虚拟机迁移中的内存预拷贝方法及执行该方法的装置和系统

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
基于内存迭代拷贝的Xen虚拟机动态迁移机制研究;熊安萍等;《计算机科学》;20130831;第40卷(第8期);第2-3节,图1 *

Also Published As

Publication number Publication date
CN104767824A (zh) 2015-07-08

Similar Documents

Publication Publication Date Title
CN104750541B (zh) 一种虚拟机迁移方法
CN104750542A (zh) 一种基于云平台的数据迁移方法
US9823842B2 (en) Gang migration of virtual machines using cluster-wide deduplication
CN107209710B (zh) 节点系统、服务器设备、缩放控制方法和程序
US9465641B2 (en) Selecting cloud computing resource based on fault tolerance and network efficiency
US7266649B2 (en) Storage apparatus and area allocation method
US10764132B2 (en) Scale-out association method and apparatus, and system
Deshpande et al. Gang migration of virtual machines using cluster-wide deduplication
WO2016152587A1 (ja) スライス管理システム及びスライス管理方法
CN110661647A (zh) 一种生命周期管理方法及装置
WO2013140522A1 (ja) 情報処理システム,情報処理方法,プログラム
US20100325406A1 (en) Computer system and management device
CN111212134A (zh) 一种请求报文处理方法、装置、边缘计算系统和电子设备
KR20180124419A (ko) 분산형 클라우드 기반 어플리케이션 실행 시스템, 이에 적용되는 장치 및 장치의 동작 방법
CN111338806B (zh) 一种业务控制方法及装置
US10409498B2 (en) Method and apparatus for managing memory
KR101264895B1 (ko) 가상 머신 마이그레이션 처리 장치 및 방법
JP5780377B2 (ja) 情報処理システム、及びアプリケーションの移転方法
CN104767824B (zh) 一种云平台数据处理方法
CN110019475B (zh) 数据持久化处理方法、装置及系统
CN114020405A (zh) 一种虚拟机调度方法、装置、设备及介质
JP5471292B2 (ja) 仮想マシン移動制御プログラム,仮想マシン移動制御装置および仮想マシン移動制御方法
CN110958326B (zh) 一种负载均衡方法、装置、系统、设备及介质
JP2018520405A (ja) ソフトウェアセキュリティ検証方法、デバイス、およびシステム
CN115361349B (zh) 资源使用方法和装置

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
EXSB Decision made by sipo to initiate substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant
TR01 Transfer of patent right
TR01 Transfer of patent right

Effective date of registration: 20190626

Address after: 518000 15th Floor, Management and Control Center of Zhuzilin Highway Main Hub, Futian District, Shenzhen City, Guangdong Province

Patentee after: Shenzhen City Penghaiyun Electronic Data Exchange Co., Ltd.

Address before: 610041 East Building, Ladfans Building, 1480 Tianfu Avenue North Section, Chengdu High-tech Zone, Sichuan Province, 10 stories

Patentee before: Chengdu Rui Feng Science and Technology Ltd.