负载调节的方法及装置制造方法

文档序号:7996362阅读:314来源:国知局
负载调节的方法及装置制造方法
【专利摘要】本发明公开了一种负载调节的方法及装置,涉及网络【技术领域】,能够解决负载调节即时性差和准确性低的问题。本发明的方法包括:当接收到容量调节指示时,获取当前运行的机器的数量,所述容量调节指示用于指示扩容或缩容;根据预设规则和当前运行的机器的数量确定容量调节量,所述容量调节量为增加或减少的机器的数量;根据所述容量调节量进行容量调节。本发明主要应用于云服务器内负载均衡的过程中。
【专利说明】负载调节的方法及装置
【技术领域】
[0001]本发明涉及网络【技术领域】,尤其涉及一种负载调节的方法及装置。
【背景技术】
[0002]随着网络技术的发展,云技术得到广泛使用。云技术包括通过公共网络使用的公共云和通过企业内网使用的自研云。在云技术架构中,云平台包含有至少一个调度组,每个调度组包含负责某类功能的一组虚拟服务器,调度组内的每个虚拟服务器运行的系统是完全相同的。对外部调用方来说,一个调度组就是一个可以提供高性能、高可靠性的大型服务器。
[0003]目前,对于调度组的运行和维护主要采用人工手动操作方式,即运维人员定时检查各调度组的负载情况,决定是否对调度组进行扩容或缩容,并确定扩容或缩容的虚拟服务器台数。
[0004]在实现上述负载调节的过程中,发明人发现现有技术中至少存在如下问题:人工手动对调度组进行负载调节无法对调度组的负载变化进行及时响应,当调度组负载过高而运维人员未能及时检查时,调度组由于负载过高会出现调度组服务质量降低的问题。此外,由于人工操作难免出现误操作,影响负载调节的准确性。

【发明内容】

[0005]本发明提供的一种负载调节的方法及装置,能够解决负载调节即时性差和准确性低的问题。
[0006]一方面,本发明提供了一种负载调节的方法,包括:
[0007]当接收到容量调节指示时,获取当前运行的机器的数量,所述容量调节指示用于指示扩容或缩容;
[0008]根据预设规则和当前运行的机器的数量确定容量调节量,所述容量调节量为增加或减少的机器的数量;
[0009]根据所述容量调节量进行容量调节。
[0010]另一方面,本发明还提供了一种负载调节装置,包括:
[0011]接收单元,用于接收到容量调节指示;
[0012]获取单元,用于当所述接收单元接收到容量调节指示时,获取当前运行的机器的数量,所述容量调节指示用于指示扩容或缩容;
[0013]处理单元,用于根据预设规则和所述获取单元获取的当前运行的机器的数量确定容量调节量,所述容量调节量为增加或减少的机器的数量;
[0014]调节单元,用于根据所述处理单元确定的所述容量调节量进行容量调节。
[0015]本发明提供的负载调节的方法及装置,在接收到容量调节指示之后,根据预设规则和获取到的当前运行的机器的数量确定容量调节量,再根据容量调节量进行容量调节,即负载调节。与现有技术中通过人工确定调整量相比,本发明通过预设算法与获取到的当前运行的机器的数量可自动确认容量调节量,在接收到容量调节指示之后,能够确定出容量调节量并根据容量调节量进行容量调节,因此可及时对负载变化进行相应,使调度组内有适当的机器数量支持调度组的服务,保证调度组的服务质量。此外,由于通过机器确定具体的调节量,因此避免了因人工操作导致的误操作,进而提高负载调节的准确性。
【专利附图】

【附图说明】
[0016]为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
[0017]图1为本发明实施例中第一个负载调节的方法的流程图;
[0018]图2为本发明实施例中第二个负载调节的方法的流程图;
[0019]图3为本发明实施例中第三个负载调节的方法的流程图;
[0020]图4为本发明实施例中第四个负载调节的方法的流程图;
[0021]图5为本发明实施例中一个负载调节装置的结构示意图;
[0022]图6为本发明实施例中另一个负载调节装置的结构示意图;
[0023]图7为本发明实施例中再一个负载调节装置的结构示意图。
【具体实施方式】
[0024]下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
[0025]实施例一
[0026]本发明实施例提供了一种负载调节的方法,如图1所示,包括:
[0027]步骤101、当接收到容量调节指示时,获取当前运行的机器的数量,容量调节指示用于指示扩容或缩容。
[0028]调度组内的每台机器(虚拟机)上,均含有资源服务(Resource Service,简称RS)模块,该模块用于统计某台机器上的负载情况。设备监控(Instance Watcher,简称IW)模块,用于接收一个调度组内各RS发送的机器上的负载量,通过计算平均值的方式得出调度组当前的负载量,当负载量超出预设负载范围时,发出容量调节指示。若所述预设负载范围为40% -60%,当负载量大于60%时,发出用于扩容的容量调节指示,当负载量小于40%时,发出用于缩容的容量调节指示。例如,RS采集到的负载信息为各机器的中央处理器(英文Central Processing Unit,简称CPU)的使用率,IW模块接收到各RS发送的各机器上的CPU使用率后,计算得出所有CPU使用率的平均值,将该平均值作为调度组的负载量,若此时调度组的负载量为70%,预设负载范围为40% -60%,则发出用于扩容的容量调节指示。当前运行的机器数量通常存放在存储单元中,通过访问存储单元可获取当前运行的机器的数量。若存储单元中未保存所述当前运行的机器的数量,则发出系统异常的提示信息。
[0029]步骤102、根据预设规则和当前运行的机器的数量确定容量调节量,容量调节量为增加或减少的机器的数量。
[0030]步骤101中的容量调节指示用于指示扩容或缩容,根据容量调节指示的不同的指示内容,可确定增加或减少当前运行的机器的数量。具体增加或减少的机器的数量即容量调节量,可根据预设算法和步骤101中获取到的当前运行的机器的数量计算得到。
[0031]步骤103、根据容量调节量进行容量调节。
[0032]根据步骤102中计算得到的容量调节量进行容量调节操作,如扩容操作或缩容操作。
[0033]本发明实施例提供的负载调节的方法,在接收到容量调节指示之后,根据预设规则和获取到的当前运行的机器的数量确定容量调节量,再根据容量调节量进行容量调节,即负载调节。与现有技术中通过人工确定调整量相比,本发明实施例提供的方法,通过预设算法与获取到的当前运行的机器的数量可自动确认容量调节量,在接收到容量调节指示之后,能够确定出容量调节量并根据容量调节量进行容量调节,因此可及时对负载变化进行响应,使调度组内有适当的机器数量支持调度组的服务,保证调度组的服务质量。其次,由于通过预设规则确定具体的调节量,因此避免了因人工操作导致的误操作,进而提高负载调节的准确性。
[0034]实施例二
[0035]作为对实施例一的进一步说明,本发明实施例提供了一种负载调节的方法,当IW模块判断得出当前调度组负载值大于预设负载范围的最大值时,发送的容量调节指示为扩容指示,如图2所示,所述方法包括:
[0036]步骤101包括:
[0037]步骤201、当接收到扩容指示时,获取当前运行的机器的数量,扩容指示用于指示扩容。
[0038]当接收到IW模块发送的扩容指示之后,当前运行的机器数量通常存放在存储单元中,通过访问存储单元可获取当前运行的机器的数量。若存储单元中未保存所述当前运行的机器的数量,则发出系统异常的提示信息。
[0039]步骤102包括:
[0040]步骤202、根据第一预设比例和当前运行的机器的数量确定扩容量;
[0041]或者,将第一预设值确定为扩容量。
[0042]其中,第一预设比例通常采用0% -50%之间的一个数值。若所述当前运行的机器的数量为100台,第一预设比例为20%,则将所述当前运行的机器的数量100与第一预设比例20%相乘,得到扩容量为20台。若扩容量存在小数部分,则整数位加1,并去掉小数部分,例如:扩容量为20.3台,则得到的扩容量为21台。
[0043]第一预设值通常采用0-250台之间的一个数值。若所述第一与设置为20,则在接收到扩容指示之后,可直接将第一预设值20确定为扩容量,此时扩容量为20台。
[0044]为了保证扩容后的机器数量不会超过硬件能力范围,可在步骤202中添加如下步骤,以便保证有足够的硬件支持。
[0045]判断所述扩容量与所述当前运行的机器的数量之和是否大于最大负载量,若不大于则进行步骤203,若大于,则将最大负载量与所述当前运行的机器的数量的差,确定为扩容量,然后进行步骤203。由此,当大于时,通过重新确定扩容量,使扩容操作后的机器的数量为最大负载量,进而保证有足够的硬件支持本次扩容操作。
[0046]此外,若所述当前运行的机器的数量等于所述最大负载量,则不进行扩容。
[0047]步骤202中所述第一预设比例以及所述第一预设值,可保存到存储单元中,以便下次扩容时使用。还可在确定扩容量之后,向运维人员发送通知消息,所述通知消息用于显示确定后的扩容量以及是否需要扩容。运维人员根据收到的通知消息判断步骤202所确定的扩容量是否合理,达到保证扩容操作稳定性的效果。运维人员通过发送确认指示,可控制是否进行步骤203。
[0048]步骤103包括:
[0049]步骤203、在当前运行的机器中确定一个参考机器。
[0050]获取所有当前运行的机器的信息,所述信息包括机器的设备标识以及设备在网络上的网络互连协议(Internet Protocol,简称IP)地址。
[0051]若参考机器的设备标识以及IP地址以数组的数据结构进行存储,则将当前运行的机器中的任意一个机器确定为参考机器。由于调度组内的各机器的配置内容相同,因此可将任意一台机器确定为参考机器。
[0052]若参考机器的设备标识以及IP地址以链表的数据结构进行存储,则将链表中最后一个单元,即当前运行的机器中的最后建立的机器确定为参考机器。通过链表存储方法,可实现以堆栈的操作方式对机器的建立进行处理。
[0053]步骤204、获取参考机器的标样信息,将标样信息确定为扩容标样信息。
[0054]根据步骤203中的IP地址可访问参考机器,通过拷贝所述参考机器上的配置信息以及数据内容,即获取所述参考机器的标样信息。当拷贝完毕后,将所述标样信息进行保存,将保存后的标样信息确定为扩容标样信息。
[0055]步骤205、根据扩容标样信息和扩容量构造新增机器。
[0056]根据步骤204中确定的扩容标样信息和步骤202中确定的扩容量,构造出新增机器。例如:扩容量为3台,扩容标样信息包括安装有邮件服务配置信息以及邮件服务软件,此时额定的新增机器为3台,每台新增机器安装有包括邮件服务配置信息以及邮件服务软件的扩容标样信息。然而,在构造新增机器时,可能出现无法一次性完成与扩容量数量相等的新增机器。
[0057]在步骤103之后,为了对扩容操作的扩容结果进行检查,确定是否按照扩容量数量进行扩容,如图3所示,所述方法还包括:
[0058]步骤301、获取扩容操作标识,扩容操作标识用于唯一标识一次扩容操作,扩容操作为根据扩容标样信息和扩容量构造新增机器的操作。
[0059]其中,扩容标识用于唯一标识一次扩容操作,通过扩容标识可找到与之对应的一次扩容操作。
[0060]步骤302、根据扩容操作标识获取扩容结果,扩容结果为扩容操作后运行的机器数量。
[0061]根据所述扩容标识可确定出当前运行的机器中哪些为该扩容标识对应的扩容操作中构造出的机器。
[0062]步骤303、若扩容操作后运行的机器数量等于扩容量与扩容操作前运行的机器的数量之和,则结束扩容操作;[0063]若扩容操作后运行的机器数量小于扩容量与扩容操作前运行的机器的数量之和,则根据扩容标样信息和扩容差值构造新增机器,扩容差值为扩容操作后运行的机器数量与扩容量与扩容操作前运行的机器的数量之和的差值。
[0064]通过比较所述扩容操作后运行的机器数量是否小于所述扩容量与扩容操作前运行的机器的数量之和,可确定构造的机器的数量是否与步骤202中确定的扩容量相符。若相符,即等于,则结束扩容操作。当不相符,即小于时,扩容操作后调度组将继续处于过载状态,无法保证调度组服务质量。因此,需要继续进行扩容操作,直至相符为止。例如:扩容操作标识为“I”,所述扩容标识对应的扩容操作中扩容量为3台,扩容结果为13台,扩容操作前的机器的数量为12,则扩容操作后运行的机器数量13小于扩容量3与扩容操作前运行的机器的数量12之和15,因此需要再次进行扩容操作。此时差值为15-13 = 2,若再次扩容操作之后,扩容量与扩容结果相符合,则停止扩容标识为“ I ”的扩容操作,否则继续进行扩容操作。
[0065]当扩容标识对应的扩容操作结束后,可向运维人员发送报告,所述报告用于指示以完成扩容操作。运维人员接收到该报告后,可人工进行复查,进一步保证扩容操作的成功率。
[0066]此外,由于IW模块通常在一定的时间间隔后判断调度组是否需要扩容,在扩容操作的过程中IW模块仍然会发出扩容指示,为了避免重复扩容操作,在当扩容操作完毕时,经过冷冻时间后,再次执行该调度组的扩容指示,冷冻时间之内及时接收到IW模块发送的扩容指示,也不进行扩容操作。通常,冷冻时间为20分钟,IW模块进行判断的时间间隔为5分钟。
[0067]本发明实施例提供的负载调节的方法,在接收到扩容指示之后,根据第一预设比例和获取到的当前运行的机器的数量确定扩容量,或者根据第一预设值确定扩容量,再根据扩容量进行容量调节,即负载调节。与现有技术中通过人工确定扩容量相比,本发明实施例提供的方法,在接收到扩容指示之后,能够确定出扩容量并根据扩容量进行扩容操作,因此可及时对负载变化进行响应,使调度组内有适当的机器数量支持调度组的服务,保证调度组的服务质量。其次,由于通过第一预设比例或第一预设值确定具体的扩容量,因此避免了因人工操作导致的误操作,进而提高负载调节的准确性。此外,通过向运维人员发送通知信息和报告,可使运维人员了解当前负载调节的进度以及结果,增强对负载调节的监控,进一步保证负载调节的稳定性。通过对扩容结果进行检查,确定是否需要再次进行扩容操作,可提高扩容操作的成功率。经过冷冻时间后,再次接收调度组的扩容指示,可防止重复扩容操作,造成冗余。
[0068]实施例三
[0069]本发明实施例提供了一种负载调节的方法,当IW模块判断得出当前调度组负载值小于预设负载范围的最小值时,发送的容量调节指示为缩容指示,如图4所示,所述方法包括:
[0070]步骤101包括:
[0071]步骤401、当接收到缩容指示时,获取当前运行的机器的数量,缩容指示用于指示缩容。
[0072]当接收到IW模块发送的缩容指示之后,当前运行的机器数量通常存放在存储单元中,通过访问存储单元可获取当前运行的机器的数量。若存储单元中未保存所述当前运行的机器的数量,则发出系统异常的提示信息。
[0073]步骤102包括:
[0074]步骤402、根据第二预设比例和当前运行的机器的数量确定缩容量;
[0075]或者,将第二预设值确定为缩容量。
[0076]其中,第二预设比例通常采用0% -50%之间的一个数值。若所述当前运行的机器的数量为100台,第二预设比例为20%,则将所述当前运行的机器的数量100与第二预设比例20%相乘,得到缩容量为20台。若缩容量存在小数部分,则整数位加I,并去掉小数部分,例如:缩容量为20.3台,则得到的缩容量为21台。
[0077]第二预设值通常采用0-250台之间的一个数值。若所述第二与设置为20,则在接收到缩容指示之后,可直接将第二预设值20确定为缩容量,此时缩容量为20台。
[0078]为了保证缩容后,仍然有硬件资源供调度组使用,即不会发生所有机器全部被删除的现象,同时,为了防止单点故障,即只有一台机器运行时,若其发生故障则整个调度组的服务间停止或故障,因此,可在步骤402中增加如下步骤:
[0079]判断当前正在运行的机器的数量与所述缩容量之差,若所述差不大于2,则不进行步骤403并取消本次缩容操作,若大于2,则进行步骤403。
[0080]步骤402中所述第二预设比例以及所述第二预设值,可保存到存储单元中,以便下次缩容时使用。还可在确定缩容量之后,向运维人员发送通知消息,所述通知消息用于显示确定后的缩容量以及是否需要缩容。运维人员根据收到的通知消息判断步骤402所确定的缩容量是否合理,达到保证缩容操作稳定性的效果。运维人员通过发送确认指示,可控制是否进行步骤403。
[0081]步骤103包括:
[0082]步骤403、获取当前运行的机器的设备标识列表。
[0083]其中所述设备标识列表,含有当前运行的机器的设备标识。所述设备标识列表还可以包含机器在网络上的IP地址。
[0084]步骤404、根据缩容量和设备标识列表进行缩容。
[0085]具体的,从所述设备标识列表中,由最后一个表项向前查找所述缩容量个数的表项,将所述缩容量个数的表项对应的机器确定为待删除机器;
[0086]释放所述待删除机器。
[0087]从设备标识列表中从后向前,查找与缩容量个数相同的表项对应的机器,将该机器确定为待删除机器,释放所述待删除机器,即可达到删除所述待删除机器的效果。所述释放为释放所述机器的占用的存储空间和释放所述待删除机器占用的系统配置资源。若所述设备标识别列表内含有各机器的IP地址,则释放IP地址对应的待删除机器。若所述设备标识列表中含有设备标识,则释放所述设备标识对应的待删除机器。由于释放所述待删除机器时,可以实现一次释放所有待删除机器,因此无需检查所述待删除机器是否全部被释放。
[0088]此外,由于IW模块通常在一定的时间间隔后判断调度组是否需要缩容,在缩容操作的过程中IW模块仍然会发出缩容指示,为了避免重复缩容操作,在当缩容操作完毕时,经过冷冻时间后,再次执行该调度组的缩容指示冷冻时间之内及时接收到IW模块发送的扩容指示,也不进行扩容操作。通常,冷冻时间为20分钟,IW模块进行判断的时间间隔为5分钟。
[0089]本发明实施例提供的负载调节的方法,在接收到缩容指示之后,根据第二预设比例和获取到的当前运行的机器的数量确定缩容量,或者根据第二预设值确定缩容量,再根据缩容量进行容量调节,即负载调节。与现有技术中通过人工确定缩容量相比,本发明实施例提供的方法,在接收到缩容指示之后,能够确定出缩容量并根据缩容量进行缩容操作,因此可及时对负载变化进行响应,使调度组内有适当的机器数量支持调度组的服务,保证调度组资源合理使用,避免资源闲置或浪费。其次,由于通过第二预设比例或第二预设值确定具体的缩容量,因此避免了因人工操作导致的误操作,进而提高负载调节的准确性。此外,通过向运维人员发送通知信息和报告,可使运维人员了解当前负载调节的进度以及结果,增强对负载调节的监控,进一步保证负载调节的稳定性。经过冷冻时间后,再次接收调度组的缩容指示,可防止重复缩容操作,造成无法支持调度组正常运行。
[0090]实施例四
[0091]本发明实施例提供了一种负载调节装置,如图5所示,包括:
[0092]接收单元51,用于接收到容量调节指示,所述容量调节指示用于指示扩容或缩容。
[0093]获取单元52,用于当所述接收单元51接收到容量调节指示时,获取当前运行的机器的数量,所述容量调节指示用于指示扩容或缩容。
[0094]当前运行的机器数量通常存放在存储单元中,获取单元52通过访问存储单元可获取当前运行的机器的数量。若存储单元中未保存所述当前运行的机器的数量,发送单元55发出系统异常的提示信息。
[0095]处理单元53,用于根据预设规则和所述获取单元52获取的当前运行的机器的数量确定容量调节量,所述容量调节量为增加或减少的机器的数量。
[0096]接收单元51接收到的容量调节指示用于指示扩容或缩容,处理单元53根据容量调节指示的不同的指示内容,可确定增加或减少当前运行的机器的数量。
[0097]调节单元54,用于根据所述处理单元53确定的所述容量调节量进行容量调节。
[0098]调节单元54根据处理单元53计算得到的容量调节量进行容量调节操作,如扩容操作或缩容操作。
[0099]可选的,所述处理单元53还用于,根据第一预设比例和所述获取单元52获取的所述当前运行的机器的数量确定扩容量;
[0100]将第一预设值确定为扩容量。
[0101]其中,第一预设比例通常采用0% -50%之间的一个数值。若所述当前运行的机器的数量为100台,第一预设比例为20%,则将所述当前运行的机器的数量100与第一预设比例20%相乘,得到扩容量为20台。若扩容量存在小数部分,则整数位加1,并去掉小数部分,例如:扩容量为20.3台,则得到的扩容量为21台。
[0102]第一预设值通常采用0-250台之间的一个数值。若所述第一与设置为20,则在接收到扩容指示之后,可直接将第一预设值20确定为扩容量,此时扩容量为20台。
[0103]为了保证扩容后的机器数量不会超过硬件能力范围,所述处理单元53还用于,判断所述扩容量与所述当前运行的机器的数量之和是否大于最大负载量,若大于,则取消本次扩容操作,以便保证有足够的硬件支持。
[0104]此外,所述处理单元53还用于,当所述当前运行的机器的数量等于所述最大负载量时,取消扩容操作。
[0105]所述第一预设比例以及所述第一预设值,可保存到存储单元中,以便下次扩容时使用。还可在处理单元53确定扩容量之后,通过发送单元55向运维人员发送通知消息,所述通知消息用于显示确定后的扩容量以及是否需要扩容。运维人员根据收到的通知消息判断处理单元53确定的扩容量是否合理,达到保证扩容操作稳定性的效果。接收单元51接收运维人员发送的确认指示,处理单元53根据接收单元51接收到的确认指示确定对否取消扩容操作。
[0106]可选的,如图6所示,所述调节单元54包括:
[0107]查找子单元61,用于在所述当前运行的机器中确定一个参考机器。
[0108]查找子单元61用于,获取所有当前运行的机器的信息,所述信息包括机器的设备标识以及设备在网络上的IP地址。
[0109]查找子单元61还用于,当参考机器的设备标识以及IP地址以数组的数据结构进行存储时,将当前运行的机器中的任意一个机器确定为参考机器。由于调度组内的各机器的配置内容相同,因此可将任意一台机器确定为参考机器。
[0110]查找子单元61还用于,当参考机器的设备标识以及IP地址以链表的数据结构进行存储时,查找子单元61将链表中最后一个单元,即当前运行的机器中的最后建立的机器确定为参考机器。通过链表存储方法,可实现以堆栈的操作方式对机器的建立进行处理。
[0111]确定子单元62,用于获取所述查找子单元61确定的所述参考机器的标样信息,将所述标样信息确定为扩容标样信息。
[0112]确定子单元62根据查找子单元61确定的IP地址可访问参考机器,通过拷贝所述参考机器上的配置信息以及数据内容,即获取所述参考机器的标样信息。当拷贝完毕后,将所述标样信息进行保存,将保存后的标样信息确定为扩容标样信息。
[0113]构造子单元63,用于根据所述确定子单元62确定的所述扩容标样信息和所述扩容量构造新增机器。
[0114]构造子单元63根据确定子单元62确定的扩容标样信息和处理单元53确定的扩容量,构造出新增机器。例如:扩容量为3台,扩容标样信息包括安装有邮件服务配置信息以及邮件服务软件,此时新增机器为3台,每台新增机器安装有包括邮件服务配置信息以及邮件服务软件的扩容标样信息。然而,在构造子单元63进行构造新增机器时,可能出现无法一次完成与扩容量数量相等的新增机器。
[0115]可选的,所述获取单元52还用于:
[0116]获取扩容操作标识,所述扩容操作标识用于唯一标识一次扩容操作,所述扩容操作为根据所述扩容标样信息和所述扩容量构造新增机器的操作;
[0117]根据所述扩容操作标识获取扩容结果,所述扩容结果为所述扩容操作后运行的机
器数量。
[0118]其中,扩容标识用于唯一标识一次扩容操作,通过扩容标识可找到与之对应的一次扩容操作。获取单元52根据所述扩容标识可确定出当前运行的机器中哪些为该扩容标识对应的扩容操作中构造出的机器。
[0119]所述调节单元54还用于,当所述获取单元52获取的所述扩容操作后运行的机器数量等于所述扩容量与扩容操作前运行的机器的数量之和时,结束扩容操作;[0120]当所述获取单元52获取的所述扩容操作后运行的机器数量小于所述扩容量与扩容操作前运行的机器的数量之和时,根据所述扩容标样信息和扩容差值构造新增机器,所述扩容差值为所述扩容操作后运行的机器数量与所述扩容量与扩容操作前运行的机器的数量之和的差值。
[0121]调节单元54通过比较所述扩容操作后运行的机器数量是否小于所述扩容量与扩容操作前运行的机器的数量之和,可确定构造的机器的数量是否与处理单元53确定的扩容量相符。若相符,即等于,则所述调节单元54结束扩容操作。当不相符,即小于时,扩容操作后调度组将继续处于过载状态,无法保证调度组服务质量。因此,调节单元54需要继续进行扩容操作,直至相符为止。例如:扩容操作标识为“1”,所述扩容标识对应的扩容操作中扩容量为3台,扩容结果为13台,扩容操作前的机器的数量为12,则扩容操作后运行的机器数量13小于扩容量3与扩容操作前运行的机器的数量12之和15,因此调节单元54需要再次进行扩容操作。此时差值为2,若再次扩容操作之后,扩容量与扩容结果相符合,则调节单元54停止扩容标识为“I”的扩容操作,否则继续进行扩容操作。
[0122]可选的,所述处理单元53还用于:
[0123]根据第二预设比例和所述当前运行的机器的数量确定缩容量;
[0124]将第二预设值确定为缩容量。
[0125]其中,第二预设比例通常采用0% -50%之间的一个数值。若获取单元52获取的所述当前运行的机器的数量为100台,第二预设比例为20%,则处理单元53将所述当前运行的机器的数量100与第二预设比例20%相乘,得到缩容量为20台。若缩容量存在小数部分,则整数位加1,并去掉小数部分,例如:缩容量为20.3台,则处理单元53得到的缩容量为21台。
[0126]第二预设值通常采用0-250台之间的一个数值。若所述第二与设置为20,则在接收到缩容指示之后,可直接将第二预设值20确定为缩容量,此时缩容量为20台。
[0127]为了保证缩容后,仍然有硬件资源供调度组使用,即不会发生所有机器全部被缩容掉的现象,同时,为了防止单点故障,即只有一台机器运行时,若其发生故障则整个调度组的服务间停止或故障,因此,处理单元53还用于,判断当前正在运行的机器的数量与所述缩容量之差,若所述差不大于2,则取消本次缩容操作。
[0128]所述第二预设比例以及所述第二预设值,可保存到存储单元中,以便下次缩容时使用。还可在处理单元53确定缩容量之后,由发送单元55向运维人员发送通知消息,所述通知消息用于显示确定后的缩容量以及是否需要缩容。运维人员根据收到的通知消息判断处理单元53所确定的缩容量是否合理,达到保证缩容操作稳定性的效果。接收单元51接收运维人员发送的确认指示,处理单元53根据接收单元51接收到的确认指示确定对否取消缩容操作。
[0129]可选的,如图7所示,所述调节单元54还包括:
[0130]标识列表获取子单元71,用于获取所述当前运行的机器的设备标识列表。
[0131]标识列表获取子单元71的所述设备标识列表,含有当前运行的机器的设备标识。所述设备标识列表还可以包含机器在网络上的IP地址。
[0132]缩容子单元72,用于根据所述缩容量和所述设备标识列表进行缩容。
[0133]所述缩容子单元72还用于,从所述设备标识列表中,由最后一个表项向前查找所述缩容量个数的表项,将所述缩容量个数的表项对应的机器确定为待删除机器;
[0134]释放所述待删除机器。
[0135]缩容子单兀72从设备标识列表中从后向前,查找与缩容量个数相同的表项对应的机器,将该机器确定为待删除机器,释放所述待删除机器,即可达到删除所述待删除机器的效果。所述释放为释放所述机器的占用的存储空间和释放所述待删除机器占用的系统配置资源。若所述设备标识别列表内含有各机器的IP地址,则缩容子单元72释放IP地址对应的待删除机器。若所述设备标识列表中含有设备标识,则缩容子单元72释放所述设备标识对应的待删除机器。实际操作中,现缩容子单元72能够实现一次完成释放所有待删除机器的释放。
[0136]本发明实施例提供的负载调节装置,在接收单元51接收到容量调节指示之后,处理单元53根据预设算法确定容量调节量,调节单元54根据容量调节量进行容量调节,即负载调节。与现有技术中通过人工确定容量调节量相比,本发明实施例提供的方法,在接收到容量调节指示之后,能够确定出容量调节量并根据容量调节量进行容量调节操作,因此可及时对负载变化进行响应,使调度组内有适当的机器数量支持调度组的服务,保证调度组资源合理使用,避免资源闲置或浪费。其次,由于处理单元53通过预设算法确定具体的缩容量,因此避免了因人工操作导致的误操作,进而提高负载调节的准确性。此外,通过发送单元55向运维人员发送通知信息和报告,通过接收单元51接收运维人员发送的确认信息,可使运维人员了解当前负载调节的进度以及结果,增强对负载调节的监控,进一步保证负载调节的稳定性。通过调节单元54对容量调节结果进行检查,确定是否需要再次进行容量调节操作,可提高容量调节操作的成功率。
[0137]所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将装置的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。上述描述的系统,装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
[0138]在本申请所提供的几个实施例中,应该理解到,所揭露的系统,装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述模块或单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
[0139]所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
[0140]另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
[0141]所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)或处理器(processor)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM, Read-Only Memory)、随机存取存储器(RAM, Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
[0142]以上所述,仅为本发明的【具体实施方式】,但本发明的保护范围并不局限于此,任何熟悉本【技术领域】的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以所述权利要求的保护范围为准。
【权利要求】
1.一种负载调节的方法,其特征在于,包括: 当接收到容量调节指示时,获取当前运行的机器的数量,所述容量调节指示用于指示扩容或缩容; 根据预设规则和当前运行的机器的数量确定容量调节量,所述容量调节量为增加或减少的机器的数量; 根据所述容量调节量进行容量调节。
2.根据权利要求1所述的方法,其特征在于,当所述容量调节指示为扩容指示时,所述根据预设规则和当前运行的机器的数量确定容量调节量,包括: 根据第一预设比例和所述当前运行的机器的数量确定扩容量; 或者,将第一预设值确定为扩容量。
3.根据权利要求2所述的方法,其特征在于,所述根据所述容量调节量进行容量调节,包括: 在所述当前运行的机器中确定一个参考机器; 获取所述参考机器 的标样信息,将所述标样信息确定为扩容标样信息; 根据所述扩容标样信息和所述扩容量构造新增机器。
4.根据权利要求3所述的方法,其特征在于,在所述根据所述扩容标样信息和所述扩容量构造新增机器之后,还包括: 获取扩容操作标识,所述扩容操作标识用于唯一标识一次扩容操作,所述扩容操作为根据所述扩容标样信息和所述扩容量构造新增机器的操作; 根据所述扩容操作标识获取扩容结果,所述扩容结果为所述扩容操作后运行的机器数量; 若所述扩容操作后运行的机器数量等于所述扩容量与扩容操作前运行的机器的数量之和,则结束扩容操作; 若所述扩容操作后运行的机器数量小于所述扩容量与扩容操作前运行的机器的数量之和,则根据所述扩容标样信息和扩容差值构造新增机器,所述扩容差值为所述扩容操作后运行的机器数量与所述扩容量与扩容操作前运行的机器的数量之和的差值。
5.根据权利要求1所述的方法,其特征在于,当所述容量调节指示为缩容指示时,所述根据预设规则和当前运行的机器的数量确定容量调节量,包括: 根据第二预设比例和所述当前运行的机器的数量确定缩容量; 或者,将第二预设值确定为缩容量。
6.根据权利要求5所述的方法,其特征在于,所述根据所述容量调节量进行容量调节,包括: 获取所述当前运行的机器的设备标识列表; 根据所述缩容量和所述设备标识列表进行缩容。
7.根据权利要求6所述的方法,其特征在于,所述根据所述缩容量和所述设备标识列表进行缩容,包括: 从所述设备标识列表中,由最后一个表项向前查找所述缩容量个数的表项,将所述缩容量个数的表项对应的机器确定为待删除机器; 释放所述待删除机器。
8.一种负载调节装置,其特征在于,包括: 接收单元,用于接收到容量调节指示; 获取单元,用于当所述接收单元接收到容量调节指示时,获取当前运行的机器的数量,所述容量调节指示用于指示扩容或缩容; 处理单元,用于根据预设规则和所述获取单元获取的当前运行的机器的数量确定容量调节量,所述容量调节量为增加或减少的机器的数量; 调节单元,用于根据所述处理单元确定的所述容量调节量进行容量调节。
9.根据权利要求8所述的负载调节装置,其特征在于,所述处理单元还用于: 根据第一预设比例和所述获取单元获取的所述当前运行的机器的数量确定扩容量; 将第一预设值确定为扩容量。
10.根据权利要求9所述的负载调节装置,其特征在于,所述调节单元包括: 查找子单元,用于在所述当前运行的机器中确定一个参考机器; 确定子单元,用于获取所述查找子单元确定的所述参考机器的标样信息,将所述标样信息确定为扩容标样信 息; 构造子单元,用于根据所述确定子单元确定的所述扩容标样信息和所述扩容量构造新增机器。
11.根据权利要求10所述的负载调节装置,其特征在于,所述获取单元还用于,获取扩容操作标识,所述扩容操作标识用于唯一标识一次扩容操作,所述扩容操作为根据所述扩容标样信息和所述扩容量构造新增机器的操作,根据所述扩容操作标识获取扩容结果,所述扩容结果为所述扩容操作后运行的机器数量; 所述调节单元还用于,当所述获取单元获取的所述扩容操作后运行的机器数量等于所述扩容量与扩容操作前运行的机器的数量之和时,结束扩容操作,当所述获取单元获取的所述扩容操作后运行的机器数量小于所述扩容量与扩容操作前运行的机器的数量之和时,根据所述扩容标样信息和扩容差值构造新增机器,所述扩容差值为所述扩容操作后运行的机器数量与所述扩容量与扩容操作前运行的机器的数量之和的差值。
12.根据权利要求8所述的负载调节装置,其特征在于,所述处理单元还用于: 根据第二预设比例和所述当前运行的机器的数量确定缩容量; 将第二预设值确定为缩容量。
13.根据权利要求12所述的负载调节装置,其特征在于,所述调节单元还包括: 标识列表获取子单元,用于获取所述当前运行的机器的设备标识列表; 缩容子单元,用于根据所述缩容量和所述设备标识列表进行缩容。
14.根据权利要求13所述的负载调节装置,其特征在于,所述缩容子单元还用于: 从所述设备标识列表中,由最后一个表项向前查找所述缩容量个数的表项,将所述缩容量个数的表项对应的机器确定为待删除机器; 释放所述待删除机器。
【文档编号】H04L29/08GK103973759SQ201310048123
【公开日】2014年8月6日 申请日期:2013年2月6日 优先权日:2013年2月6日
【发明者】周红昌, 胡兴华, 尹晟宇 申请人:腾讯科技(深圳)有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1