CN103036800B - 虚拟机负载均衡系统、节点及方法 - Google Patents

虚拟机负载均衡系统、节点及方法 Download PDF

Info

Publication number
CN103036800B
CN103036800B CN201210544653.7A CN201210544653A CN103036800B CN 103036800 B CN103036800 B CN 103036800B CN 201210544653 A CN201210544653 A CN 201210544653A CN 103036800 B CN103036800 B CN 103036800B
Authority
CN
China
Prior art keywords
information
node
virtual machine
scheduling plan
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.)
Expired - Fee Related
Application number
CN201210544653.7A
Other languages
English (en)
Other versions
CN103036800A (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.)
Beijing Yunhu Times Technology Co., Ltd.
Original Assignee
Beijing Grandison & Jm Information Technology Co 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 Beijing Grandison & Jm Information Technology Co Ltd filed Critical Beijing Grandison & Jm Information Technology Co Ltd
Priority to CN201210544653.7A priority Critical patent/CN103036800B/zh
Publication of CN103036800A publication Critical patent/CN103036800A/zh
Application granted granted Critical
Publication of CN103036800B publication Critical patent/CN103036800B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Abstract

本发明公开了一种虚拟机负载均衡系统、节点及方法,属于计算机领域。所述系统包括:至少两个主节点,每个主节点本地连接有0至多个从节点;所述主节点,用于接收本地连接的从节点发送的状态信息,获取自身的状态信息,并根据从节点发送的状态信息和自身的状态信息生成本地调度计划,根据其他主节点以及本地的未调度的多余负载信息和/或剩余资源信息生成远程调度计划,并根据本地调度计划和/或远程调度计划进行虚拟机迁移,以实现虚拟机负载均衡。本发明通过设置多个主节点,由主节点根据各主节点以及与其本地连接的从节点的状态信息生成调度计划并进行虚拟机的迁移,达到了提高系统容错性、提高系统规模和扩展性的目的。

Description

虚拟机负载均衡系统、节点及方法
技术领域
本发明涉及计算机领域,特别涉及一种虚拟机负载均衡系统、节点及方法。
背景技术
虚拟机是一种通过软件模拟的具有完整硬件系统功能的、运行在一个完全隔离环境中的完整计算机系统,在云计算领域应用非常广泛。虚拟化技术可以更加有效地整合物理服务器,以虚拟机的方式提供资源,实现了资源的共享和有效利用。但由于各虚拟机负载的动态变化以及各物理服务器资源的差异,会导致各物理服务器上的负载失衡。因此,如何均衡不同物理服务器的负载,维持高效的资源利用率,是基于虚拟化架构的云计算的一个关键问题。
现有的虚拟机负载均衡系统中,设置有一个虚拟机调度器,用于管理各物理服务器上的所有虚拟机。该虚拟机调度器收集各虚拟机的负载情况以及各物理服务器的资源信息,定期根据收集到的各虚拟机的负载情况以及各物理服务器的资源信息,计算新的合适的虚拟机与物理服务器的对应关系,即调度计划,并根据计算出的调度计划对各虚拟机进行迁移,以实现虚拟机负载均衡。
在实现本发明的过程中,发明人发现现有技术至少存在以下问题:
首先,现有的虚拟机负载均衡系统,只设置一个虚拟机调度器,若该虚拟机调度器发生故障,则整个系统将陷入崩溃,系统容错性低;其次,受限于该虚拟机调度器的处理能力,系统的规模有限且扩展性不高。
发明内容
为了解决现有技术的问题,本发明实施例提供了一种虚拟机负载均衡系统、节点及方法。所述技术方案如下:
一方面,提供了一种虚拟机负载均衡系统,所述系统包括:至少两个主节点,其中,每个主节点本地连接有0至多个从节点,每个所述节点对应有一台物理服务器和0至多个虚拟机;
所述从节点,用于获取自身的状态信息,并将所述自身的状态信息发送给本地连接的主节点,其中所述状态信息至少包括:对应的物理服务器资源信息和虚拟机负载信息;
所述主节点,用于接收本地连接的从节点发送的状态信息,获取自身的状态信息,并根据所述从节点发送的状态信息和自身的状态信息生成本地调度计划;
所述主节点,还用于统计所述本地调度计划之外的未调度的多余负载信息和/或剩余资源信息,获取其他主节点的未调度的多余负载信息和/或剩余资源信息,并根据所述其他主节点的未调度的多余负载信息和/或剩余资源信息以及本地的未调度的多余负载信息和/或剩余资源信息生成远程调度计划;
所述主节点,用于根据所述本地调度计划和/或所述远程调度计划进行虚拟机迁移,以实现虚拟机负载均衡。
另一方面,提供了一种主节点,所述主节点包括:第一生成模块、第二生成模块和负载均衡模块;
所述第一生成模块,用于根据本地连接的从节点的状态信息和自身的状态信息生成本地调度计划,其中所述状态信息至少包括:对应的物理服务器资源信息和虚拟机负载信息;
所述第二生成模块,用于统计所述本地调度计划之外的未调度的多余负载信息和/或剩余资源信息,获取其他主节点的未调度的多余负载信息和/或剩余资源信息,并根据所述其他主节点的未调度的多余负载信息和/或剩余资源信息以及本地的未调度的多余负载信息和/或剩余资源信息生成远程调度计划;
所述负载均衡模块,用于根据所述本地调度计划和/或所述远程调度计划进行虚拟机迁移,以实现虚拟机负载均衡。
再一方面,提供了一种从节点,所述从节点包括:获取模块、发送模块、接收模块和负载均衡模块;
所述获取模块,用于获取自身的状态信息,其中所述状态信息至少包括:对应的物理服务器资源信息和虚拟机负载信息;
所述发送模块,用于向本地连接的主节点发送所述获取模块获取的自身的状态信息。
所述接收模块,用于接收所述本地连接的主节点根据本地调度计划和/或远程调度计划发送的调度指令,其中,所述本地调度计划为所述主节点根据接收到的本地连接的从节点发送的状态信息和所述主节点自身的状态信息生成,所述远程调度计划为所述主节点根据其他主节点的剩余资源信息以及所述主节点本地的未调度的多余负载信息和/或剩余资源信息生成;
所述负载均衡模块,用于根据所述接收模块接收到的调度指令进行虚拟机迁移。
又一方面,提供了一种负载均衡方法,所述方法包括:
根据本地连接的从节点的状态信息和自身的状态信息生成本地调度计划,其中所述状态信息至少包括:对应的物理服务器资源信息和虚拟机负载信息;
统计所述本地调度计划之外的未调度的多余负载信息和/或剩余资源信息,获取其他主节点的未调度的多余负载信息和/或剩余资源信息,并根据所述其他主节点的未调度的多余负载信息和/或剩余资源信息以及本地的未调度的多余负载信息和/或剩余资源信息生成远程调度计划;
根据所述本地调度计划和/或所述远程调度计划对各物理服务器上的虚拟机进行迁移,以实现虚拟机负载均衡。
又一方面,提供了一种负载均衡方法,所述方法包括:
获取自身的状态信息,其中所述状态信息至少包括:对应的物理服务器资源信息和虚拟机负载信息;
向本地连接的主节点发送所述获取模块获取的自身的状态信息。
接收本地连接的主节点根据本地调度计划和/或远程调度计划发送的调度指令,其中,所述本地调度计划为所述主节点根据接收到的本地连接的从节点发送的状态信息和所述主节点自身的状态信息生成,所述远程调度计划为所述主节点根据其他主节点的剩余资源信息以及所述主节点本地的未调度的多余负载信息和/或剩余资源信息生成;
根据所述调度指令进行虚拟机迁移。
本发明实施例提供的技术方案带来的有益效果是:
通过设置多个主节点,每个主节点连接0至多个从节点,由主节点根据各主节点以及与其本地连接的从节点的状态信息生成本地调度计划和/或远程调度计划,并根据生成的本地调度计划和/或远程调度计划进行虚拟机的迁移,以实现虚拟机负载均衡,达到了提高系统容错性、提高系统规模和扩展性的目的。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本发明实施例一提供的虚拟机负载均衡系统的系统构成图;
图2是本发明实施例一提供的主节点的结构方框图;
图3是本发明实施例一提供的从节点的结构方框图;
图4是本发明实施例二提供的主节点的装置结构图;
图5是本发明实施例三提供的从节点的装置结构图;
图6是本发明实施例四提供的虚拟机负载均衡方法的方法流程图;
图7是本发明实施例五提供的虚拟机负载均衡方法的方法流程图;
图8是本发明实施例五提供的虚拟机负载均衡方法的方法流程图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明实施方式作进一步地详细描述。
实施例一
请参见图1,其示出了本发明实施例一提供的虚拟机负载均衡系统的系统构成图,该虚拟机管理系统可以在云计算平台中对各物理服务器上的虚拟机进行负载均衡,其中,节点为一个虚拟机管理器,每个虚拟机管理器对应一台物理服务器。该虚拟机负载均衡系统可以包括:至少两个主节点,其中,每个主节点本地连接有0至多个从节点(主节点10对应连接从节点1001~1003),另外,每个节点对应有一台物理服务器和0至多个虚拟机;其中,主节点的个数可以根据系统规模灵活设定。
从节点1001,用于获取自身的状态信息,并将自身的状态信息发送给本地连接的主节点10,其中状态信息至少包括:对应的物理服务器资源信息和虚拟机负载信息;
物理服务器由CPU和物理内存等硬件组成,物理服务器资源可以包括CPU处理能力、内存大小以及各物理服务器之间的网络带宽等,物理服务器资源信息可以是该物理服务器资源利用率等信息;另外,虚拟机负载信息可以是某个虚拟机运行时的资源占用量。
若从节点1001对应的物理服务器上没有正在运行的虚拟机,则状态信息中的虚拟机负载信息为空。
从节点1001定期收集自身对应的物理服务器资源信息和虚拟机负载信息。其中,物理服务器资源信息为静态信息,从节点1001只要获取一次即可;而虚拟机负载信息为动态信息,随着时间变化而变化,因此,从节点1001需要定期获取,比如,每隔3分钟获取一次虚拟机负载信息。同样的,从节点1001将获取的自身状态信息发送给本地连接的主节点10时,第一次需要发送获取的物理服务器资源信息和虚拟机负载信息,之后每次只需要发送获取的虚拟机负载信息即可。
具体的,获取自身的状态信息的方法可以有多种,在实际应用中,从节点1001可以定期获取自身的状态信息(第一次获取物理服务器资源信息和虚拟机负载信息,之后每次只需要定期获取虚拟机负载信息),当需要向主节点发送状态信息时,将定期获取的多个自身的状态信息做一次平均值(由于物理服务器资源信息为静态,所以只需要对收集的虚拟机负载信息做平均),将该平均值作为当前自身的状态信息,或者,可以根据定期获取的多个自身的状态信息做一次预测(根据定期获取的对虚拟机负载信息的大致走势预测当前自身的虚拟机负载信息),将该预测值作为当前的自身的状态信息,再或者,可以将最近一次获取的自身的状态信息(具体为第一次获取的物理服务器资源信息和最近一次获取的虚拟机负载信息)作为当前的自身的状态信息。
主节点10,用于接收本地连接的从节点发送的状态信息,获取自身的状态信息,并根据从节点发送的状态信息和自身的状态信息生成本地调度计划;
主节点10接收本地连接的三个从节点1001~1003发送的状态信息,并获取自身的状态信息(主节点10获取自身状态信息的方法和从节点1001相同),根据接收到的从节点1001~1003的状态信息以及自身的状态信息,计算本地新的合适的虚拟机与物理服务器的对应关系,即生成本地调度计划。其中,本地调度计划为主节点10及其本地连接的从节点1001~1003之间的虚拟机迁移计划。
主节点10,还用于统计本地调度计划之外的未调度的多余负载信息和/或剩余资源信息,获取其他主节点的未调度的多余负载信息和/或剩余资源信息,并根据其他主节点的未调度的多余负载信息和/或剩余资源信息以及本地的未调度的多余负载信息和/或剩余资源信息生成远程调度计划;
具体的,主节点10还统计本地调度计划之外的未调度的多余负载信息和/或剩余资源信息,其中未调度的多余负载信息可以是主节点10和本地连接的从节点1001~1003上处于本地调度计划之外的虚拟机负载,剩余资源信息可以是主节点10和本地连接的从节点1001~1003所对应的物理服务器在按照本地调度计划调度之后预计剩余的物理处理能力。
其他主节点也同样统计各自本地调度计划之外的未调度的多余负载信息和/或剩余资源信息并将统计结果发送给主节点10,主节点10根据接收到的其他主节点的未调度的多余负载信息和/或剩余资源信息以及本地的未调度的多余负载信息和/或剩余资源信息生成本地的远程调度计划。
同样的,主节点10也需要将本地统计的本地调度计划之外的未调度的多余负载信息和/或剩余资源信息发送给其他主节点,以便其他主节点生成各自的远程调度计划。
主节点10,用于根据生成的本地调度计划和/或远程调度计划对各物理服务器上的虚拟机进行负载均衡。
其中,虚拟机负载均衡是通过虚拟机在各物理服务器上的迁移来实现的。
具体的,可以根据生成的本地调度计划在主节点10和从节点1001~1003对应的物理服务器之间进行虚拟机迁移;根据生成的远程调度计划将主节点10或从节点1001~1003对应的物理服务器上的虚拟机迁移到其他主节点或与其他主节点相连的从节点所对应的物理服务器上,和/或,根据生成的远程调度计划将其他主节点或与其他主节点相连的从节点所对应的物理服务器上的虚拟机迁移到主节点10或从节点1001~1003对应的物理服务器上。
请结合参考图2,其示出了本发明实施例一提供的主节点的结构方框图。该主节点10包括:第一生成模块101、第二生成模块102和负载均衡模块103;
第一生成模块101,用于根据本地连接的从节点的状态信息和自身的状态信息生成本地调度计划;
其中,第一生成模块101接收本地连接的从节点发送的状态信息,并获取自身的状态信息,根据从节点发送的状态信息和自身的状态信息生成本地调度计划。
第一生成模块101可以按照预定的调度策略生成本地调度计划,具体比如,预先为每个物理服务器设置一个资源利用率阈值,当某个物理服务器上的资源利用率超过80%,则预定将该物理服务器上的部分虚拟机迁移到其他资源利用率较低的物理服务器上,或者,用该物理服务器上负载较高的虚拟机交换其他资源利用率低于80%的物理服务器上负载较低的虚拟机,可以按照虚拟机迁移尽可能少的原则来生成本地调度计划。
第二生成模块102,用于统计第一生成模块101生成的本地调度计划之外的未调度的多余负载信息和/或剩余资源信息,获取其他主节点的未调度的多余负载信息和/或剩余资源信息,并根据其他主节点的未调度的多余负载信息和/或剩余资源信息以及本地的未调度的多余负载信息和/或剩余资源信息生成远程调度计划;
具体的,第二生成模块102统计第一生成模块101生成的本地调度计划之外的未调度的多余负载信息和/或剩余资源信息;
当统计有未调度的多余负载时,第二生成模块102获取其他主节点的剩余资源信息;根据本地的未调度的多余负载信息和其他主节点的剩余资源信息向其他主节点发送资源请求;并接收其他主节点根据资源请求返回的资源分配信息;
和/或,
当统计有剩余资源时,第二生成模块102向其他主节点发送本地的剩余资源信息;接收其他主节点根据本地的剩余资源信息发送的资源请求;根据接收到的资源请求生成资源分配信息;并将生成的资源分配信息发送给其他主节点;
具体例如,主节点A向其他主节点发送本地的剩余资源信息,主节点B接收到该主节点A的剩余资源信息后,根据该主节点B本地的未调度的多余负载信息和该主节点A的剩余资源信息向主机点A发送资源请求(比如,请求将主节点B或主节点B连接的从节点所对应的物理服务器上未调度的虚拟机迁移到主节点A或主节点A连接的从节点所对应的物理服务器上,或者,请求将主节点B或主节点B连接的从节点所对应的物理服务器上负载较大的虚拟机与主节点A或主节点A连接的从节点所对应的物理服务器上负载较小的虚拟机交换),若主节点A上被请求的资源可分配,则同意主节点B的请求,生成相应的资源分配信息并发送给主节点B。
需要说明的是,对于相同的预计剩余的资源,主节点A可能会接收到两份以上的资源请求,为了避免冲突,主节点A可以按照接收到资源请求的先后顺序,优先对先接收到的资源请求返回资源分配信息,对于其余的资源请求,可以返回分配失败信息,通知相应的其他主节点重新请求。
另外,主节点A生成资源分配信息后,会更新本地的剩余资源信息,并将更新后的剩余资源信息发送给其他主节点。
最后,第二生成模块102根据接收到的资源分配信息和/或生成的资源分配信息生成远程调度计划。
第二生成模块可以将接收到的其他主节点发送的资源分配信息以及生成的向其他主节点发送的资源分配信息直接作为远程调度计划,也可以做相应处理后生成一定格式的调度计划,对此,本实施例不作具体限定。
负载均衡模块103,用于根据第一生成模块101生成的本地调度计划和/或第二生成模块102生成的远程调度计划进行虚拟机迁移,以实现虚拟机负载均衡。
具体的,负载均衡模块103根据本地调度计划和/或远程调度计划进行虚拟机迁移;
负载均衡模块103还根据本地调度计划和/或远程调度计划向本地连接的从节点发送调度指令,以便从节点根据调度指令进行虚拟机迁移。
请继续结合参考图3,其示出了本发明实施例一提供的从节点的结构方框图。该从节点1001可以包括:获取模块1001a、发送模块1001b、接收模块1001c、负载均衡模块1001d以及重连模块1001e;
获取模块1001a,用于获取自身的状态信息;
发送模块1001b,用于向本地连接的主节点发送获取模块1001a获取的自身的状态信息。
接收模块1001c,用于接收本地连接的主节点根据本地调度计划和/或远程调度计划发送的调度指令;
负载均衡模块1001d,用于根据接收模块1001c接收到的调度指令进行虚拟机迁移。
重连模块1001e,用于当与本地连接的主节点断开连接时,通过广播的方式选择其他可连接的主节点并建立连接。
由于本发明实施例一提供的负载均衡系统包含有多个主节点,当一个主节点发生故障时,其他主节点仍然可以继续进行负载均衡,从而提高系统容错性,同时为了避免主节点故障从而导致与该主节点相连的从节点无法进行虚拟机负载均衡的问题,从节点1001还包括重连模块1001e,用于当从节点1001与本地连接的主节点断开连接时,通过广播的方式查找其他可连接的主节点,并选择其中一个建立连接。
由于一个主节点的处理能力有限,当连接的从节点过多时,可能会影响主节点的处理能力,本实施例提供的系统,可以设置多个主节点,每个主节点分别管理一部分从节点,同时还可以通过设置更多主节点来扩展系统的规模,相对于现有技术中由一个集中式调度器管理所有从节点而言,系统规模和可扩展性都大大增加。
综上所述,本发明实施例一提供虚拟机负载均衡系统,通过设置多个主节点,每个主节点连接0至多个从节点,由主节点根据各主节点以及与其本地连接的从节点的状态信息生成本地调度计划和/或远程调度计划,并根据生成的本地调度计划和/或远程调度计划进行虚拟机的迁移,以实现虚拟机负载均衡,达到了提高系统容错性、提高系统规模和扩展性的目的。
实施例二
为了对上述实施例一提供的虚拟机负载均衡系统中的主节点做更详细的描述,请参见图4,其示出了本发明实施例二提供的一种主节点的装置结构图。该主节点可以应用于如权利要求1所述的虚拟机负载均衡系统中,该主节点本地连接有0至多个从节点。该主节点可以应用于一个基于云计算的虚拟机负载均衡系统。该主节点20可以包括:第一生成模块201、第二生成模块202和负载均衡模块203;
第一生成模块201,用于根据本地连接的从节点的状态信息和自身的状态信息生成本地调度计划,其中状态信息至少包括:对应的物理服务器资源信息和虚拟机负载信息;
第二生成模块202,用于统计第一生成模块201生成的本地调度计划之外的未调度的多余负载信息和/或剩余资源信息,获取其他主节点的未调度的多余负载信息和/或剩余资源信息,并根据其他主节点的未调度的多余负载信息和/或剩余资源信息以及本地的未调度的多余负载信息和/或剩余资源信息生成远程调度计划;
负载均衡模块203,用于根据第一生成模块201生成的本地调度计划和/或第二生成模块202生成的远程调度计划进行虚拟机迁移,以实现虚拟机负载均衡。
其中,第一生成模块201,具体包括:第一接收单元201a、第一获取单元201b和第一生成单元201c;
第一接收单元201a,用于接收本地连接的从节点发送的状态信息;
第一获取单元201b,用于获取自身的状态信息;
状态信息包括物理服务器资源信息和虚拟机负载信息。第一获取单元201b定期收集自身对应的物理服务器资源信息和虚拟机负载信息。其中,物理服务器资源信息为静态信息,第一获取单元201b只要获取一次即可;而虚拟机负载信息为动态信息,随着时间变化而变化,因此,第一获取单元201b需要定期获取,比如,每隔3分钟获取一次虚拟机负载信息。
具体的,第一获取单元201b获取自身的状态信息的方法可以有多种,在实际应用中,第一获取单元201b可以定期获取自身的状态信息(第一次获取物理服务器资源信息和虚拟机负载信息,之后每次只需要定期获取虚拟机负载信息),当需要生成调度计划时,将定期获取的多个自身的状态信息做一次平均值(由于物理服务器资源信息为静态,所以只需要对收集的虚拟机负载信息做平均),将该平均值作为当前自身的状态信息,或者,可以根据定期获取的多个自身的状态信息做一次预测(根据定期获取的对虚拟机负载信息的大致走势预测当前自身的虚拟机负载信息),将该预测值作为当前的自身的状态信息,再或者,可以将最近一次获取的自身的状态信息(具体为第一次获取的物理服务器资源信息和/或最近一次获取的虚拟机负载信息)作为当前的自身的状态信息。
第一生成单元201c,用于根据第一接收单元201a接收到的本地连接的从节点发送的状态信息和第一获取单元201b获取的自身的状态信息生成本地调度计划。
第一生成单元201c可以按照预定的调度策略生成本地调度计划,具体比如,预先为每台物理服务器设置一个资源利用率阈值,当某台物理服务器上的资源利用率超过80%,则预定将该物理服务器上的部分虚拟机迁移到其他资源利用率较低的物理服务器上,或者,用该物理服务器上负载较高的虚拟机交换其他资源利用率低于80%的物理服务器上负载较低的虚拟机,可以按照虚拟机迁移尽可能少的原则来生成本地调度计划。
其中,第二生成模块202,具体包括:统计单元202a、第二获取单元202b、第二发送单元202c、第二接收单元202d、第三发送单元202e、第三接收单元202f、资源分配单元202g、第四发送单元202h和第二生成单元202i;
统计单元202a,用于统计本地调度计划之外的未调度的多余负载信息和/或剩余资源信息;
具体的,本地调度计划之外的剩余资源信息可以是本地各物理服务器在按照本地调度计划进行调度之后的预计剩余的资源;本地调度计划之外的未调度的多余负载信息可以是本地各物理服务器上按照本地调度计划进行调度之后预计多余的虚拟机负载,需要说明的是,该预计剩余的资源和/或预计多余的虚拟机负载依然是在预设的资源利用率阈值的基础上进行统计的。
第二获取单元202b,用于当统计单元202a统计有未调度的多余负载时,获取其他主节点的剩余资源信息;
当统计有预计未调度的多余的虚拟机负载时,需要将预计未调度的多余的虚拟机负载迁移到其他主节点或与其他主节点相连的从节点对应的物理服务器上,此时,需要获取其他主节点的剩余资源信息。
第二发送单元202c,用于根据统计单元202a统计的本地的未调度的多余负载信息和第二获取单元202b获取的其他主节点的剩余资源信息向其他主节点发送资源请求;
具体的,第二发送单元202c可以根据本地的预计未调度的多余的虚拟机负载以及接收到的其他主节点的预计剩余的资源,向其他主节点请求将某一本地未调度的多余的虚拟机迁移到其他主节点或其主节点对应的某一物理服务器上,或者向其他主节点请求将某一本地负载较高的虚拟机与其他主节点或其主节点连接的某一物理服务器上的负载较低的虚拟机做交换,这样的请求可以被称为资源请求。
第二接收单元202d,用于接收其他主节点根据第二发送单元202c发送的资源请求返回的资源分配信息;
若其他主节点接收并通过第二发送单元202c发送的资源请求,则向该主节点返回预定接收该虚拟机的资源分配信息。
第三发送单元202e,用于当统计单元202a统计有剩余资源时,向其他主节点发送本地的剩余资源信息;
当统计有预计剩余的资源信息时,可以接收其他主节点的未调度的多余的虚拟机负载,此时,第三发送单元202e需要向其他主节点发送本地的剩余资源信息。
第三接收单元202f,用于接收其他主节点根据第三发送单元202e发送的本地的剩余资源信息发送的资源请求;
资源分配单元202g,用于根据第三接收单元202f接收到的资源请求生成资源分配信息;
需要说明的是,对于相同的预计剩余的资源,第三接收单元202f可能会接收到两份以上的资源请求,为了避免冲突,资源分配单元202g可以按照接收到资源请求的先后顺序,优先对先接收到的资源请求返回资源分配信息,对于其余的资源请求,可以返回分配失败信息,通知相应的其他主节点重新请求。
另外,资源分配单元202g生成资源分配信息后,统计单元更新本地的剩余资源信息,并由第三发送单元202e将更新后的剩余资源信息发送给其他主节点。
第四发送单元202h,用于将资源分配单元202g生成的资源分配信息发送给其他主节点;
第二生成单元202i,用于根据第二接收单元202d接收到的资源分配信息和/或资源分配单元202g生成的资源分配信息生成远程调度计划。
第二生成单元202i可以根据接收到的资源分配信息和主节点自身生成的资源分配信息预定将本地未调度的多余的虚拟机迁移到其他主节点或其他主节点对应的物理服务器上或者预定接收其他主节点未调度的多余的虚拟机的远程调度计划。
其中,负载均衡模块203,具体包括:负载均衡单元203a和第五发送单元203b;
负载均衡单元203a,用于根据第一生成模块201生成的本地调度计划和/或第二生成模块202生成的远程调度计划进行虚拟机迁移;
第五发送单元203b,用于根据第一生成模块201生成的本地调度计划和/或第二生成模块202生成的远程调度计划向本地连接的从节点发送调度指令,以便从节点根据该调度指令进行虚拟机迁移。
作为上述方案的优选,在负载均衡模块203进行虚拟机迁移之前,主节点还可以同其他主节点交换各自生成的本地调度计划和/或远程调度计划,以便通过对比各自的调度计划来判断是否会有调度冲突,若有调度冲突,则可以重新调整各自的调度计划,直至各主节点之间的调度计划没有冲突。另外,各主节点互相保存其他主节点的远程调度计划,还可以在进行虚拟机迁移时,合理安排迁移时间和迁移顺序,提高远程调度的效率。
综上所述,本发明实施例二提供的主节点,通过根据本地连接的从节点的状态信息和自身的状态信息生成本地调度计划,根据本地的未调度的多余负载信息和/或剩余资源信息以及其他主节点的未调度的多余负载信息和/或剩余资源信息生成远程调度计划,并根据生成的本地调度计划和/或远程调度计划进行虚拟机迁移,以实现虚拟机负载均衡,达到了提高系统容错性、提高系统的规模和扩展性的目的。
实施例三
为了对实施例一提供的负载均衡系统中的从节点做进一步描述,请参见图5,其示出了本发明实施例三提供的从节点的装置结构图,该从节点可以应用于一个基于云计算的虚拟机负载均衡系统。该从节点1002可以包括:获取模块1002a、发送模块1002b、接收模块1002c和负载均衡模块1002d;
获取模块1002a,用于获取自身的状态信息,其中状态信息至少包括:对应的物理服务器资源信息和虚拟机负载信息;
其中,物理服务器资源信息为静态信息,获取模块1002a只要获取一次即可;而虚拟机负载信息为动态信息,随着时间变化而变化,因此,获取模块1002a需要定期获取,比如,每隔3分钟获取一次虚拟机负载信息。
具体的,获取自身的状态信息的方法可以有多种,在实际应用中,获取模块1002a可以定期获取自身的状态信息(第一次获取物理服务器资源信息和虚拟机负载信息,之后每次只需要定期获取虚拟机负载信息),当需要向主节点发送状态信息时,将定期获取的多个自身的状态信息做一次平均值(由于物理服务器资源信息为静态,所以只需要对收集的虚拟机负载信息做平均),将该平均值作为当前自身的状态信息,或者,可以根据定期获取的多个自身的状态信息做一次预测(由于物理服务器资源信息为静态,所以只需要对收集的虚拟机负载信息做平均),将该预测值作为当前的自身的状态信息,再或者,可以将最近一次获取的自身的状态信息(具体为第一次获取的物理服务器资源信息和/或最近一次获取的虚拟机负载信息)作为当前的自身的状态信息。
发送模块1002b,用于向本地连接的主节点发送获取模块1002a获取的自身的状态信息。
同样的,发送模块1002b将获取的自身状态信息发送给本地连接的主节点时,第一次需要发送获取的物理服务器资源信息和虚拟机负载信息,之后每次只需要发送获取的虚拟机负载信息即可。
接收模块1002c,用于接收本地连接的主节点根据本地调度计划和/或远程调度计划发送的调度指令,其中,本地调度计划为主节点根据接收到的本地连接的从节点发送的状态信息和主节点自身的状态信息生成,远程调度计划为主节点根据其他主节点的剩余资源信息以及主节点本地的未调度的多余负载信息和/或剩余资源信息生成;
负载均衡模块1002d,用于根据接收模块1002c接收到的调度指令进行虚拟机迁移。
另外,从节点1002还包括:
重连模块1002e,用于当与本地连接的主节点断开连接时,通过广播的方式查询其他可连接的主节点,并与查询到的主节点中的一个建立连接。
为了避免主节点故障从而导致与该主节点相连的从节点无法进行虚拟机负载均衡的问题,从节点1002还包括重连模块1002e,用于当从节点1002与本地连接的主节点断开连接时,通过广播的方式查找其他可连接的主节点,并选择其中一个建立连接。
综上所述,本发明实施例三提供的从节点,通过获取自身的状态信息并发送给主节点,以便主节点根据各节点状态信息生成本地调度计划和/或远程调度计划,同时,当从节点与本地连接的主节点断开连接时,通过广播的方式查询其他可连接的主节点并建立连接,达到提高系统容错性的目的。
实施例四
对应上述实施例一提供的虚拟机负载均衡系统,请参见图6,其示出了本发明实施例四提供的虚拟机负载均衡方法的方法流程图,该方法可以应用于在一个基于云计算的系统中进行虚拟机负载均衡。该方法可以包括:
步骤301,根据本地连接的从节点的状态信息和自身的状态信息生成本地调度计划,其中状态信息至少包括:对应的物理服务器资源信息和虚拟机负载信息;
其中,主节点接收本地连接的从节点的状态信息并获取自身的状态信息,根据本地连接的从节点的状态信息和自身的状态信息生成本地调度计划。另外,物理服务器资源信息可以包括物理服务器的总处理能力和已使用的处理能力,
步骤302,统计本地调度计划之外的未调度的多余负载信息和/或剩余资源信息,获取其他主节点的未调度的多余负载信息和/或剩余资源信息,并根据其他主节点的未调度的多余负载信息和/或剩余资源信息以及本地的未调度的多余负载信息和/或剩余资源信息生成远程调度计划;
步骤303,根据本地调度计划和/或远程调度计划对各物理服务器上的虚拟机进行迁移,以实现虚拟机负载均衡。
其中,虚拟机负载的均衡是通过在不同物理服务器之间迁移虚拟机来实现的。
综上所述,本发明实施例四提供的虚拟机负载均衡方法,通过设置多个主节点,每个主节点连接0至多个从节点,由主节点根据各主节点以及与其本地连接的从节点的状态信息生成本地调度计划和/或远程调度计划,并根据生成的本地调度计划和/或远程调度计划进行虚拟机的迁移,以实现虚拟机负载均衡,达到了提高系统容错性、提高系统规模和扩展性的目的。
实施例五
为了对上述实施例四提供的方法做进一步描述,请参见图7,其示出了本发明实施例五提供的一种虚拟机负载均衡方法的方法流程图,该方法可以应用于在一个基于云计算的系统中进行虚拟机负载均衡。该虚拟机负载均衡方法可以包括:
步骤401,主节点接收本地连接的从节点发送的状态信息并获取自身的状态信息;
状态信息包括物理服务器资源信息和虚拟机负载信息。主节点定期收集自身对应的物理服务器资源信息和虚拟机负载信息。其中,物理服务器资源信息为静态信息,主节点只要获取一次即可;而虚拟机负载信息为动态信息,随着时间变化而变化,因此,主节点需要定期获取,比如,每隔3分钟获取一次虚拟机负载信息。
主节点获取自身的状态信息的方法可以有多种,在实际应用中,主节点可以定期获取自身的状态信息(第一次获取物理服务器资源信息和虚拟机负载信息,之后每次只需要定期获取虚拟机负载信息),当需要生成本地调度计划时,将定期获取的多个自身的状态信息做一次平均值(由于物理服务器资源信息为静态,所以只需要对收集的虚拟机负载信息做平均),将该平均值作为当前自身的状态信息,或者,可以根据定期获取的多个自身的状态信息做一次预测(根据定期获取的对虚拟机负载信息的大致走势预测当前自身的虚拟机负载信息),将该预测值作为当前的自身的状态信息,再或者,可以将最近一次获取的自身的状态信息(具体为第一次获取的物理服务器资源信息和/或最近一次获取的虚拟机负载信息)作为当前的自身的状态信息。
步骤402,主节点根据从节点发送的状态信息和自身的状态信息生成本地调度计划;
主节点可以按照预定的调度策略生成本地调度计划,具体比如,预先为每个物理服务器设置一个资源利用率阈值,当某个物理服务器上的资源利用率超过80%,则预定将该物理服务器上的部分虚拟机迁移到其他资源利用率较低的物理服务器上,或者,用该物理服务器上负载较高的虚拟机交换其他资源利用率低于80%的物理服务器上负载较低的虚拟机,可以按照虚拟机迁移尽可能少的原则来生成本地调度计划。
步骤403,主节点统计本地调度计划之外的未调度的多余负载信息和/或剩余资源信息,当统计有未调度的多余负载时,进入步骤404,当统计有剩余资源时,进入步骤407;
步骤404,主节点获取其他主节点的剩余资源信息;
步骤405,主节点根据本地的未调度的多余负载信息和其他主节点的剩余资源信息向其他主节点发送资源请求;
步骤406,主节点接收其他主节点根据资源请求返回的资源分配信息;
步骤407,主节点向其他主节点发送本地的剩余资源信息,并接收其他主节点根据本地的剩余资源信息发送的资源请求;
步骤408,主节点根据接收到的资源请求生成资源分配信息,并将生成的资源分配信息发送给其他主节点;
步骤409,主节点根据接收到的资源分配信息和/或生成的资源分配信息生成远程调度计划。
步骤410,主节点根据本地调度计划和/或远程调度计划进行虚拟机迁移;
步骤411,主节点根据本地调度计划和/或远程调度计划向本地连接的从节点发送调度指令,以便本地连接的从节点根据该调度指令进行虚拟机迁移。
由于一个主节点的处理能力有限,当连接的从节点过多时,可能会影响主节点的处理能力,本实施例提供的方法,可以设置多个主节点,每个主节点分别管理一部分从节点,同时还可以通过设置更多主节点来扩展系统的规模,相对于现有技术中由一个集中式调度器管理所有从节点而言,系统规模和可扩展性都大大增加。
综上所述,本发明实施例五提供的虚拟机负载均衡方法,主节点通过根据本地连接的从节点的状态信息和自身的状态信息生成本地调度计划,根据本地的未调度的多余负载信息和/或剩余资源信息以及其他主节点的未调度的多余负载信息和/或剩余资源信息生成远程调度计划,并根据生成的本地调度计划和/或远程调度计划进行虚拟机迁移,以实现虚拟机负载均衡,达到了提高系统容错性、提高系统的规模和扩展性的目的。
实施例六
对应于上述实施例一提供的虚拟机负载均衡系统以及上述实施例三提供的从节点,请参见图8,其示出了本发明实施例六提供的虚拟机负载均衡方法的方法流程图,该方法可以应用于在一个基于云计算的系统中进行虚拟机负载均衡。该虚拟机负载均衡方法可以包括:
步骤501,从节点获取自身的状态信息,其中状态信息至少包括:对应的物理服务器资源信息和虚拟机负载信息;
从节点定期收集自身对应的物理服务器资源信息和虚拟机负载信息。其中,物理服务器资源信息为静态信息,从节点只要获取一次即可;而虚拟机负载信息为动态信息,随着时间变化而变化,因此,从节点需要定期获取,比如,每隔3分钟获取一次虚拟机负载信息。
具体的,获取自身的状态信息的方法可以有多种,在实际应用中,从节点可以定期获取自身的状态信息(第一次获取物理服务器资源信息和虚拟机负载信息,之后每次只需要定期获取虚拟机负载信息),当需要向主节点发送状态信息时,将定期获取的多个自身的状态信息做一次平均值(由于物理服务器资源信息为静态,所以只需要对收集的虚拟机负载信息做平均),将该平均值作为当前自身的状态信息,或者,可以根据定期获取的多个自身的状态信息做一次预测(根据定期获取的对虚拟机负载信息的大致走势预测当前自身的虚拟机负载信息),将该预测值作为当前的自身的状态信息,再或者,可以将最近一次获取的自身的状态信息(具体为第一次获取的物理服务器资源信息和/或最近一次获取的虚拟机负载信息)作为当前的自身的状态信息。
步骤502,从节点向本地连接的主节点发送获取的自身的状态信息。
同样的,从节点将获取的自身状态信息发送给本地连接的主节点时,第一次需要发送获取的物理服务器资源信息和虚拟机负载信息,之后每次只需要发送获取的虚拟机负载信息即可。
步骤503,从节点接收本地连接的主节点根据本地调度计划和/或远程调度计划发送的调度指令,其中,本地调度计划为主节点根据接收到的本地连接的从节点发送的状态信息和主节点自身的状态信息生成,远程调度计划为主节点根据其他主节点的剩余资源信息以及主节点本地的未调度的多余负载信息和/或剩余资源信息生成;
步骤504,从节点根据该调度指令进行虚拟机迁移。
优选的,当与本地连接的主节点断开连接时,通过广播的方式搜寻查询可连接的主节点,并与查询到的主节点中的一个建立连接。
综上所述,本发明实施例六提供的虚拟机负载均衡方法,从节点通过获取自身的状态信息并发送给主节点,以便主节点根据各节点状态信息生成本地调度计划和/或远程调度计划,同时,当从节点与本地连接的主节点断开连接时,通过广播的方式查询其他可连接的主节点并建立连接,达到提高系统容错性的目的。
需要说明的是:上述实施例提供的虚拟机负载均衡系统中的主节点和从节点在进行虚拟机负载均衡时,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将主节点和从节点的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。另外,上述实施例提供的主节点和从节点与虚拟机负载均衡方法实施例属于同一构思,其具体实现过程详见方法实施例,这里不再赘述。
上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。
本领域普通技术人员可以理解实现上述实施例的全部或部分步骤可以通过硬件来完成,也可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,上述提到的存储介质可以是只读存储器,磁盘或光盘等。
以上所述仅为本发明的较佳实施例,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

Claims (15)

1.一种虚拟机负载均衡系统,其特征在于,所述系统包括:至少两个主节点,其中,每个主节点本地连接有0至多个从节点,每个主节点或从节点对应有一台物理服务器和0至多个虚拟机;
所述从节点,用于获取自身的状态信息,并将所述自身的状态信息发送给本地连接的主节点,所述状态信息至少包括:对应的物理服务器资源信息和虚拟机负载信息;
所述主节点,用于接收本地连接的从节点发送的状态信息,获取自身的状态信息,并根据所述从节点发送的状态信息和自身的状态信息生成本地调度计划;
所述主节点,还用于统计所述本地调度计划之外的未调度的多余负载信息和/或剩余资源信息,获取其他主节点的未调度的多余负载信息和/或剩余资源信息,并根据所述其他主节点的未调度的多余负载信息和/或剩余资源信息以及本地的未调度的多余负载信息和/或剩余资源信息生成远程调度计划;
所述主节点,用于根据所述本地调度计划和/或所述远程调度计划进行虚拟机迁移,以实现虚拟机负载均衡;
所述主节点包括:第一生成模块、第二生成模块和负载均衡模块;
所述第一生成模块,用于根据本地连接的从节点的状态信息和自身的状态信息生成本地调度计划;
所述第二生成模块,具体包括:统计单元、第二获取单元、第二发送单元、第二接收单元、第三发送单元、第三接收单元、资源分配单元、第四发送单元和第二生成单元;
所述统计单元,用于统计所述本地调度计划之外的未调度的多余负载信息和/或剩余资源信息;
所述第二获取单元,用于当所述统计单元统计有未调度的多余负载时,获取其他主节点的剩余资源信息;
所述第二发送单元,用于根据本地的未调度的多余负载信息和所述第二获取单元获取的其他主节点的剩余资源信息向所述其他主节点发送资源请求;
所述第二接收单元,用于接收所述其他主节点根据所述第二发送单元发送的资源请求返回的资源分配信息;
所述第三发送单元,用于当所述统计单元统计有剩余资源时,向其他主节点发送本地的剩余资源信息;
所述第三接收单元,用于接收其他主节点根据所述第三发送单元发送的本地的剩余资源信息发送的资源请求;
资源分配单元,用于根据所述第三接收单元接收到的资源请求生成资源分配信息;
所述第四发送单元,用于将所述资源分配单元生成的资源分配信息发送给所述其他主节点;
所述第二生成单元,用于根据所述第二接收单元接收到的资源分配信息和/或所述资源分配单元生成的资源分配信息生成远程调度计划;
所述负载均衡模块,用于根据所述本地调度计划和/或所述远程调度计划进行虚拟机迁移,以实现虚拟机负载均衡。
2.根据权利要求1所述的虚拟机负载均衡系统,其特征在于,所述第一生成模块,具体包括:第一接收单元、第一获取单元和第一生成单元;
所述第一接收单元,用于接收本地连接的从节点发送的状态信息;
所述第一获取单元,用于获取自身的状态信息;
所述第一生成单元,用于根据所述第一接收单元接收到从节点发送的状态信息和所述第一获取单元获取的自身的状态信息生成本地调度计划。
3.根据权利要求1或2所述的虚拟机负载均衡系统,其特征在于,所述负载均衡模块,具体包括:负载均衡单元和第五发送单元;
所述负载均衡单元,用于根据所述第一生成模块生成的本地调度计划和/或所述第二生成模块生成的远程调度计划进行虚拟机迁移;
所述第五发送单元,用于根据所述第一生成模块生成的本地调度计划和/或所述第二生成模块生成的远程调度计划向本地连接的从节点发送调度指令,以便所述从节点根据所述调度指令进行虚拟机迁移。
4.根据权利要求1所述的虚拟机负载均衡系统,其特征在于,所述从节点包括:获取模块、发送模块、接收模块和负载均衡模块;
所述获取模块,用于获取自身的状态信息;
所述发送模块,用于向本地连接的主节点发送所述获取模块获取的自身的状态信息;
所述接收模块,用于接收本地连接的主节点根据本地调度计划和/或远程调度计划发送的调度指令;
所述负载均衡模块,用于根据所述接收模块接收到的调度指令进行虚拟机迁移。
5.根据权利要求4所述的虚拟机负载均衡系统,其特征在于,所述从节点还包括:
重连模块,用于当与所述本地连接的主节点断开连接时,通过广播的方式选择其他可连接的主节点,并与查询到的主节点中的一个建立连接。
6.一种主节点,其特征在于,所述主节点包括:第一生成模块、第二生成模块和负载均衡模块;
所述第一生成模块,用于根据本地连接的从节点的状态信息和自身的状态信息生成本地调度计划,其中所述状态信息至少包括:对应的物理服务器资源信息和虚拟机负载信息;
所述第二生成模块,具体包括:统计单元、第二获取单元、第二发送单元、第二接收单元、第三发送单元、第三接收单元、资源分配单元、第四发送单元和第二生成单元;
所述统计单元,用于统计所述本地调度计划之外的未调度的多余负载信息和/或剩余资源信息;
所述第二获取单元,用于当所述统计单元统计有未调度的多余负载时,获取其他主节点的剩余资源信息;
所述第二发送单元,用于根据本地的未调度的多余负载信息和所述第二获取单元获取的其他主节点的剩余资源信息向所述其他主节点发送资源请求;
所述第二接收单元,用于接收所述其他主节点根据所述第二发送单元发送的资源请求返回的资源分配信息;
所述第三发送单元,用于当所述统计单元统计有剩余资源时,向其他主节点发送本地的剩余资源信息;
所述第三接收单元,用于接收其他主节点根据所述第三发送单元发送的本地的剩余资源信息发送的资源请求;
资源分配单元,用于根据所述第三接收单元接收到的资源请求生成资源分配信息;
所述第四发送单元,用于将所述资源分配单元生成的资源分配信息发送给所述其他主节点;
所述第二生成单元,用于根据所述第二接收单元接收到的资源分配信息和/或所述资源分配单元生成的资源分配信息生成远程调度计划;
所述负载均衡模块,用于根据所述本地调度计划和/或所述远程调度计划进行虚拟机迁移,以实现虚拟机负载均衡。
7.根据权利要求6所述的主节点,其特征在于,所述第一生成模块,具体包括:第一接收单元、第一获取单元和第一生成单元;
所述第一接收单元,用于接收本地连接的从节点发送的状态信息;
所述第一获取单元,用于获取自身的状态信息;
所述第一生成单元,用于根据所述第一接收单元接收到的从节点发送的状态信息和所述第一获取单元获取的自身的状态信息生成本地调度计划。
8.根据权利要求6或7所述的主节点,其特征在于,所述负载均衡模块,具体包括:负载均衡单元和第五发送单元;
所述负载均衡单元,用于根据所述第一生成模块生成的本地调度计划和/或所述第二生成模块生成的远程调度计划进行虚拟机迁移;
所述第五发送单元,用于根据所述第一生成模块生成的本地调度计划和/或所述第二生成模块生成的远程调度计划向本地连接的从节点发送调度指令,以便所述从节点根据所述调度指令进行虚拟机迁移。
9.一种从节点,其特征在于,所述从节点包括:获取模块、发送模块、接收模块和负载均衡模块;
所述获取模块,用于获取自身的状态信息,其中所述状态信息至少包括:对应的物理服务器资源信息和虚拟机负载信息;
所述发送模块,用于向本地连接的主节点发送所述获取模块获取的自身的状态信息;
所述接收模块,用于接收本地连接的主节点根据本地调度计划和/或远程调度计划发送的调度指令,其中,所述本地调度计划为所述主节点根据接收到的本地连接的从节点发送的状态信息和所述主节点自身的状态信息生成,所述远程调度计划为所述主节点根据其他主节点的剩余资源信息以及所述主节点本地的未调度的多余负载信息和/或剩余资源信息生成;其中,所述主节点在生成所述远程调度计划时,统计所述本地调度计划之外的未调度的多余负载信息和/或剩余资源信息,当统计有未调度的多余负载时,获取其他主节点的剩余资源信息,根据本地的未调度的多余负载信息和其他主节点的剩余资源信息向所述其他主节点发送资源请求,接收所述其他主节点根据所述资源请求返回的资源分配信息,当统计有剩余资源时,向其他主节点发送本地的剩余资源信息,接收其他主节点根据所述本地的剩余资源信息发送的资源请求,根据所述接收到的资源请求生成资源分配信息,将所述资源分配信息发送给所述其他主节点,根据所述接收到的资源分配信息和/或所述生成的资源分配信息生成所述远程调度计划;
所述负载均衡模块,用于根据所述接收模块接收到的调度指令进行虚拟机迁移。
10.根据所述权利要求9所述的从节点,其特征在于,所述从节点还包括:
重连模块,用于当与所述本地连接的主节点断开连接时,通过广播的方式查询其他可连接的主节点,并与查询到的主节点中的一个建立连接。
11.一种虚拟机负载均衡方法,其特征在于,所述方法包括:
根据本地连接的从节点的状态信息和自身的状态信息生成本地调度计划,其中所述状态信息至少包括:对应的物理服务器资源信息和虚拟机负载信息;
统计所述本地调度计划之外的未调度的多余负载信息和/或剩余资源信息;
当统计有未调度的多余负载时,获取其他主节点的剩余资源信息;
根据本地的未调度的多余负载信息和所述其他主节点的剩余资源信息向所述其他主节点发送资源请求;
接收所述其他主节点根据所述资源请求返回的资源分配信息;
和/或,
当统计有剩余资源时,向其他主节点发送本地的剩余资源信息;
接收其他主节点根据所述本地的剩余资源信息发送的资源请求;
根据所述接收到的资源请求生成资源分配信息;
将所述生成的资源分配信息发送给所述其他主节点;
根据所述接收到的资源分配信息和/或所述生成的资源分配信息生成远程调度计划;
根据所述本地调度计划和/或所述远程调度计划对各物理服务器上的虚拟机进行迁移,以实现虚拟机负载均衡。
12.根据权利要求11所述的虚拟机负载均衡方法,其特征在于,所述根据本地连接的从节点的状态信息和自身的状态信息生成本地调度计划,具体包括:
接收本地连接的从节点发送的状态信息;
获取自身的状态信息;
根据所述从节点发送的状态信息和所述自身的状态信息生成本地调度计划。
13.根据权利要求11或12所述的虚拟机负载均衡方法,其特征在于,所述根据所述本地调度计划和/或所述远程调度计划对各物理服务器上的虚拟机进行负载均衡,具体包括:
根据所述本地调度计划和/或所述远程调度计划进行虚拟机迁移;
根据所述本地调度计划和/或所述远程调度计划向本地连接的从节点发送调度指令,以便所述从节点根据所述调度指令进行虚拟机迁移。
14.一种虚拟机负载均衡方法,其特征在于,所述方法包括:
获取自身的状态信息,其中所述状态信息至少包括:对应的物理服务器资源信息和虚拟机负载信息;
向本地连接的主节点发送所述获取模块获取的自身的状态信息;
接收所述本地连接的主节点根据本地调度计划和/或远程调度计划发送的调度指令,其中,所述本地调度计划为所述主节点根据接收到的本地连接的从节点发送的状态信息和所述主节点自身的状态信息生成,所述远程调度计划为所述主节点根据其他主节点的剩余资源信息以及所述主节点本地的未调度的多余负载信息和/或剩余资源信息生成;其中,所述主节点在生成所述远程调度计划时,统计所述本地调度计划之外的未调度的多余负载信息和/或剩余资源信息,当统计有未调度的多余负载时,获取其他主节点的剩余资源信息,根据本地的未调度的多余负载信息和其他主节点的剩余资源信息向所述其他主节点发送资源请求,接收所述其他主节点根据所述资源请求返回的资源分配信息,当统计有剩余资源时,向其他主节点发送本地的剩余资源信息,接收其他主节点根据所述本地的剩余资源信息发送的资源请求,根据所述接收到的资源请求生成资源分配信息,将所述资源分配信息发送给所述其他主节点,根据所述接收到的资源分配信息和/或所述生成的资源分配信息生成所述远程调度计划;
根据所述调度指令进行虚拟机迁移。
15.根据所述权利要求14所述的虚拟机负载均衡方法,其特征在于,所述方法还包括:
当与所述本地连接的主节点断开连接时,通过广播的方式搜寻查询可连接的主节点,并与查询到的主节点中的一个建立连接。
CN201210544653.7A 2012-12-14 2012-12-14 虚拟机负载均衡系统、节点及方法 Expired - Fee Related CN103036800B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201210544653.7A CN103036800B (zh) 2012-12-14 2012-12-14 虚拟机负载均衡系统、节点及方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201210544653.7A CN103036800B (zh) 2012-12-14 2012-12-14 虚拟机负载均衡系统、节点及方法

Publications (2)

Publication Number Publication Date
CN103036800A CN103036800A (zh) 2013-04-10
CN103036800B true CN103036800B (zh) 2015-09-09

Family

ID=48023303

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201210544653.7A Expired - Fee Related CN103036800B (zh) 2012-12-14 2012-12-14 虚拟机负载均衡系统、节点及方法

Country Status (1)

Country Link
CN (1) CN103036800B (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107273179A (zh) * 2016-04-07 2017-10-20 中国移动通信有限公司研究院 一种硬件资源的调度方法及装置

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103763378A (zh) * 2014-01-24 2014-04-30 中国联合网络通信集团有限公司 基于分布式流式计算系统的任务处理方法、系统及节点
US10649796B2 (en) * 2014-06-27 2020-05-12 Amazon Technologies, Inc. Rolling resource credits for scheduling of virtual computer resources
CN106790332B (zh) * 2015-11-24 2020-01-17 中国移动通信集团公司 一种资源调度方法、系统及主节点
CN106921754B (zh) * 2017-05-04 2020-07-28 泰康保险集团股份有限公司 集群系统的负载均衡方法、装置、介质和电子设备
CN107483643A (zh) * 2017-09-26 2017-12-15 深圳市神云科技有限公司 一种基于云平台的自动管理节点负载的方法
CN110308983B (zh) * 2019-04-19 2022-04-05 中国工商银行股份有限公司 资源负载均衡方法及系统、服务节点和客户端
CN113094177A (zh) * 2021-04-21 2021-07-09 上海商汤科技开发有限公司 一种任务分发系统、方法、装置、计算机设备及存储介质
CN115269120A (zh) * 2022-08-01 2022-11-01 江苏安超云软件有限公司 虚拟机的numa节点调度方法、装置、设备及存储介质

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101719081A (zh) * 2009-12-01 2010-06-02 北京大学 一种虚拟机调度方法
CN102170474A (zh) * 2011-04-22 2011-08-31 广州杰赛科技股份有限公司 一种云计算网络中虚拟资源动态调度方法及系统
CN102427475A (zh) * 2011-12-08 2012-04-25 曙光信息产业(北京)有限公司 一种云计算环境中负载均衡调度的系统
CN102594881A (zh) * 2012-02-08 2012-07-18 中兴通讯股份有限公司 一种虚拟机负载均衡方法、管理模块及虚拟机集群系统
CN102637138A (zh) * 2012-03-20 2012-08-15 浪潮电子信息产业股份有限公司 一种计算调度虚拟机的方法

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101719081A (zh) * 2009-12-01 2010-06-02 北京大学 一种虚拟机调度方法
CN102170474A (zh) * 2011-04-22 2011-08-31 广州杰赛科技股份有限公司 一种云计算网络中虚拟资源动态调度方法及系统
CN102427475A (zh) * 2011-12-08 2012-04-25 曙光信息产业(北京)有限公司 一种云计算环境中负载均衡调度的系统
CN102594881A (zh) * 2012-02-08 2012-07-18 中兴通讯股份有限公司 一种虚拟机负载均衡方法、管理模块及虚拟机集群系统
CN102637138A (zh) * 2012-03-20 2012-08-15 浪潮电子信息产业股份有限公司 一种计算调度虚拟机的方法

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
"虚拟计算环境下虚拟机资源负载均衡方法";刘媛媛等;《计算机工程》;20100831;第36卷(第16期);第30-32页 *
"面向云计算的虚拟机动态迁移框架";刘鹏程等;《计算机工程》;20100331;第36卷(第5期);第37-39页 *

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107273179A (zh) * 2016-04-07 2017-10-20 中国移动通信有限公司研究院 一种硬件资源的调度方法及装置

Also Published As

Publication number Publication date
CN103036800A (zh) 2013-04-10

Similar Documents

Publication Publication Date Title
CN103036800B (zh) 虚拟机负载均衡系统、节点及方法
Kaur et al. Container-as-a-service at the edge: Trade-off between energy efficiency and service availability at fog nano data centers
CN103109271B (zh) 一种平台间迁移应用的实现方法及系统
CN103051564B (zh) 资源动态调配的方法和装置
CN102377598B (zh) 一种互联网应用托管系统、设备和方法
CN102546742B (zh) 管理分布式开关构造系统中的下一跳标识符的方法和装置
CN105426245A (zh) 包括分散的部件的动态地组成的计算节点
CN103401947A (zh) 多个服务器的任务分配方法和装置
CN105049268A (zh) 分布式计算资源分配系统和任务处理方法
CN112783649A (zh) 一种面向云计算的交互感知的容器化微服务资源调度方法
CN104038540A (zh) 一种应用代理服务器自动选择方法及系统
CN104067257A (zh) 自动化事件管理
CN105103132A (zh) 在升级期间修复云服务
CN111399970B (zh) 一种预留资源管理方法、装置和存储介质
CN104252391A (zh) 用于在分布式计算系统中管理多个作业的方法和装置
CN102857370A (zh) 一种分配资源的方法及装置
CN104050043A (zh) 基于共享缓存感知的虚拟机调度方法和装置
CN105554123B (zh) 大容量感知云计算平台系统
CN111459641B (zh) 一种跨机房的任务调度和任务处理的方法及装置
CN111309440B (zh) 一种多类型gpu的管理调度的方法和设备
CN111459642B (zh) 一种分布式系统中故障处理和任务处理方法及装置
Khanna RAS: A novel approach for dynamic resource allocation
CN102724313A (zh) 基于云计算的集群式桥梁运营安全监控系统
CN103414767A (zh) 将应用软件部署在云计算平台上的方法和装置
CN106020977A (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
C14 Grant of patent or utility model
GR01 Patent grant
TR01 Transfer of patent right

Effective date of registration: 20180123

Address after: 100176 Beijing Beijing economic and Technological Development Zone Culture Park, No. 6, courtyard No. 30, No. 18, 1803

Patentee after: Beijing Yunhu Times Technology Co., Ltd.

Address before: 100020 room 22A01 room C, room No. six, Wantong center, Chaoyang District, Beijing

Patentee before: Beijing Grandison & JM Information Technology Co., Ltd.

TR01 Transfer of patent right
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20150909

Termination date: 20201214

CF01 Termination of patent right due to non-payment of annual fee