用于基于时间调整的负载均衡的方法和设备与流程

文档序号:11215859阅读:429来源:国知局
用于基于时间调整的负载均衡的方法和设备与流程

本申请涉及计算机领域,尤其涉及一种用于基于时间调整的负载均衡的技术。



背景技术:

目前,随着业务量的提高,访问量和数据流量的快速增长,单一的服务器由于其处理能力的瓶颈已经无法满足需求,因此,采用多个服务器所构成的服务器集群,为了对资源和负载进行有效调度,引入了负载均衡技术,以将大量的数据流量分担到集群中的多个服务器上。另外,产生了相应的负载均衡策略供用户选择使用。

用户使用负载均衡策略时会有一些需求,例如,用户的流量有明显的时间特征,比如工作时间流量大,晚上使用流量小。如果按固定带宽付费,晚上流量可能跑不满;如果按流量付费,在流量大的情况下,成本会很高。再如,用户某个时间段有大促,需要提高带宽。但是过了这个时间段后,需要再恢复回去如果多个用户在某个时间段都有大促的需求,需要提前计算负载均衡的容量是否能够支持,目前用户使用的负载均衡策略的配置不够弹性,无法对用户使用的流量情况做出预判。



技术实现要素:

本申请的目的是提供一种基于时间调整的负载均衡的方法与设备,通过多种时间段的定义方式创建不同的负载均衡方法以实现用户的弹性配置,并对用户使用的流量情况做出预判。

根据本申请的一个方面,提供了一种基于时间调整的负载均衡的方法,包括:

获取并记录至少一个定时任务,其中,所述定时任务包括执行时间段及所述执行时间段内待执行的负载均衡方法;

判断当前时间是否进入某一所述定时任务的执行时间段,若是,则获取所述定时任务所对应的负载均衡方法,并基于对应所述负载均衡方法处理多个服务器之间的负载均衡,直至对应所述定时任务的执行时间段结束。

进一步地,获取并记录至少一个定时任务包括:

获取用户请求,其中,所述用户请求包括请求时间段及所述请求时间段内待执行的负载均衡方法;基于所述用户请求,生成至少一个定时任务,并基于所述请求时间段确定所述定时任务的执行时间段;基于所述用户请求,确定所述执行时间段内待执行的负载均衡方法。

根据本申请的另一方面,还提供了一种基于时间调整的负载均衡的设备,包括:

获取装置,用于获取并记录至少一个定时任务,其中,所述定时任务包括执行时间段及所述执行时间段内待执行的负载均衡方法;

执行装置,用于判断当前时间是否进入某一所述定时任务的执行时间段,若是,则获取所述定时任务所对应的负载均衡方法,并基于对应所述负载均衡方法处理多个服务器之间的负载均衡,直至对应所述定时任务的执行时间段结束。

进一步地,所述获取装置包括:

获取请求单元,用于获取用户请求,其中,所述用户请求包括请求时间段及所述请求时间段内待执行的负载均衡方法;

生成单元,用于基于所述用户请求,生成至少一个定时任务,并基于所述请求时间段确定所述定时任务的执行时间段;

确定单元,用于基于所述用户请求,确定所述执行时间段内待执行的负载均衡方法。

此外,本申请还提供了一种基于时间调整的负载均衡的设备,包括:

处理器;

以及被安排成存储计算机可执行指令的存储器,所述可执行指令在被执行时使所述处理器:

获取并记录至少一个定时任务,其中,所述定时任务包括执行时间段及所述执行时间段内待执行的负载均衡方法;

判断当前时间是否进入某一所述定时任务的执行时间段,若是,则获取所述定时任务所对应的负载均衡方法,并基于对应所述负载均衡方法处理多个服务器之间的负载均衡,直至对应所述定时任务的执行时间段结束。

与现有技术相比,根据本申请的实施例所述的基于时间调整的负载均衡的方法和设备,通过获取并记录至少一个定时任务,其中,所述定时任务包括执行时间段及所述执行时间段内待执行的负载均衡方法;进一步地,基于用户请求,获取负载均衡的性能参数信息;接着,基于所述负载均衡的性能参数信息确定所述执行时间段内待执行的负载均衡方法。从而实现基于定义多种时间段的方式创建不同的负载均衡方法,在执行时间段内执行对应的负载均衡方法。进一步地,判断当前时间是否进入某一所述定时任务的执行时间段,若是,则获取所述定时任务所对应的负载均衡方法,并基于对应所述负载均衡方法处理多个服务器之间的负载均衡,直至对应所述定时任务的执行时间段结束,进而实现用户的弹性配置,采用满足用户需求的负载均衡方法被灵活应用于复杂的用户场景,进而增强了负载均衡的适用性。

附图说明

通过阅读参照以下附图所作的对非限制性实施例所作的详细描述,本申请的其它特征、目的和优点将会变得更明显:

图1示出根据本申请一个方面的一种基于时间调整的负载均衡的设备的结构示意图;

图2示出根据本申请一个方面的一个优选实施例的获取装置11的结构示意图;

图3(a)示出的已有的定时任务和对应时间段内的策略;

图3(b)示出根据本申请一个方面的更新定时任务的一个优选实施例的示意图;

图4示出根据本申请又一个方面的一种基于时间调整的负载均衡的方法流程示意图;

图5示出根据本申请又一个方面的一个优选实施例的步骤s11的方法流程示意图。

附图中相同或相似的附图标记代表相同或相似的部件。

具体实施方式

下面结合附图对本申请作进一步详细描述。

图1示出根据本申请一个方面的一种基于时间调整的负载均衡的设备的结构示意图。所述设备1包括获取装置11和执行装置12,其中,获取装置11获取并记录至少一个定时任务,其中,所述定时任务包括执行时间段及所述执行时间段内待执行的负载均衡方法;执行装置12判断当前时间是否进入某一所述定时任务的执行时间段,若是,则获取所述定时任务所对应的负载均衡方法,并基于对应所述负载均衡方法处理多个服务器之间的负载均衡,直至对应所述定时任务的执行时间段结束。

在此,所述设备1包括但不限于用户设备、或用户设备与网络设备通过网络相集成所构成的设备。所述用户设备其包括但不限于任何一种可与用户通过触摸板进行人机交互的移动电子产品,例如智能手机、pda等,所述移动电子产品可以采用任意操作系统,如android操作系统、ios操作系统等。其中,所述网络设备包括一种能够按照事先设定或存储的指令,自动进行数值计算和信息处理的电子设备,其硬件包括但不限于微处理器、专用集成电路(asic)、可编程门阵列(fpga)、数字处理器(dsp)、嵌入式设备等。所述网络包括但不限于互联网、广域网、城域网、局域网、vpn网络、无线自组织网络(adhoc网络)等。优选地,设备1还可以是运行于所述用户设备、或用户设备与网络设备、触摸终端或网络设备与触摸终端通过网络相集成所构成的设备上的脚本程序。当然,本领域技术人员应能理解上述设备1仅为举例,其他现有的或今后可能出现的设备1如可适用于本申请,也应包含在本申请保护范围以内,并在此以引用方式包含于此。

上述各装置之间是持续不断工作的,在此,本领域技术人员应理解“持续”是指上述各装置分别实时地或者按照设定的或实时调整的工作模式要求,例如所述获取装置11持续获取并记录至少一个定时任务;执行装置12持续判断当前时间是否进入某一所述定时任务的执行时间段,若是,则获取所述定时任务所对应的负载均衡方法,并基于对应所述负载均衡方法处理多个服务器之间的负载均衡,直至对应所述定时任务的执行时间段结束,直至所述设备1完成调整负载均衡工作或停止工作。

本申请一实施例所述设备1用于基于时间调整的负载均衡使得根据用户的请求在请求的执行时间段内执行对应的负载均衡方法,进而实现用户的弹性配置以满足用户的需求,同时增强负载均衡的适用性。

本领域技术人员应能理解,在具体的方案实施中,所述负载均衡策略用于根据用户的访问请求根据相应的已制定的负载均衡策略选择后台服务器去处理请求,为表述方便,我们将在实施例中对负载均衡方法与负载均衡策略(slb策略)进行互换使用。

具体地,获取装置11获取并记录至少一个定时任务,其中,所述定时任务包括执行时间段及所述执行时间段内待执行的负载均衡方法。

在此,负载均衡(serverloadbalancer,slb)是对多台云服务器进行流量分发的负载均衡服务,负载均衡可以通过流量分发扩展应用系统对外的服务能力,通过消除单点故障提升应用系统的可用性。在本申请一实施例中,slb控制器(slbcontroller)将slb策略下发给slb转发服务器,为实现基于时间的策略,需要在slb控制器上创建一个时间服务器,所有与时间相关的策略都会发送给时间服务器,时间服务器根据时间策略下发相应的转发策略到转发服务器。需要说明的是,在上述实施例中,获取装置11可包括时间服务器,时间服务器实现一次性定时任务和循环的定时任务,其中,定时任务为在时间段内执行用户选择的待执行的负载均衡策略。通过获取用户请求的时间段信息和在时间段内待执行的slb策略信息生成至少一个定时任务,基于定时任务在请求的时间段内执行相应的slb策略。例如,用户根据自己的流量使用情况,在时间段06:00-18:00内选择slb策略a,在时间段18:00-次日06:00内选择slb策略b,将选择的时间段请求信息及对应时间段内执行的slb策略信息发送给时间服务器,并生成了两个定时任务,定时任务a用于时间服务器在时间段06:00-18:00内执行slb策略a,定时任务b用于时间服务器在时间段18:00-次日06:00内执行slb策略b。

本领域技术人员应能理解,所述获取并记录定时任务的方法仅为举例,其他现有的或今后可能出现的获取并记录定时任务的方法如可适用于本申请,也应包含在本申请保护范围以内,并在此以引用方式包含于此。

具体地,执行装置12判断当前时间是否进入某一所述定时任务的执行时间段,若是,则获取所述定时任务所对应的负载均衡方法,并基于对应所述负载均衡方法处理多个服务器之间的负载均衡,直至对应所述定时任务的执行时间段结束。

接前例,当用户根据自己的流量使用情况,在时间段06:00-18:00内选择slb策略a,在时间段18:00-次日06:00内选择slb策略b后,时间服务器获取到所述用户选择的时间段请求信息及对应时间段内执行的slb策略信息,将获取到的信息根据转发策略转发给转发服务器进而实现多个服务器之间的负载均衡,而在执行多个定时任务时,需要判断当前时间是否进入所选择的某一时间段,如若当前时间属于时间段06:00-18:00内,则执行slb策略a,直至时间点18:00结束,然后开始进入下一时间段18:00-次日06:00,此段时间内一直执行slb策略b直至该段时间对应的定时任务b结束。

优选地,如图2示出的根据本申请一个方面的一个优选实施例的获取装置11的结构示意图。所述获取装置11包括:获取请求单元111、生成单元112和确定单元113。其中,获取请求单元111获取用户请求,其中,所述用户请求包括请求时间段及所述请求时间段内待执行的负载均衡方法;生成单元112基于所述用户请求,生成至少一个定时任务,并基于所述请求时间段确定所述定时任务的执行时间段;确定单元113基于所述用户请求,确定所述执行时间段内待执行的负载均衡方法。

在一具体实施例中,获取请求单元111获取用户选择的时间段信息及该时间段内所要使用的slb策略信息,生成单元112根据所获取到的请求信息生成对应的定时任务,确定要执行定时任务的时间段,接着,确定单元113确定在执行时间段内执行用户所需的slb策略,即每一时间段内执行相应的slb策略,在该时间段的时间开始时加入slb策略,在时间点结束时删除该slb策略,进入下一个时间段重新加入新的策略然后执行,从而使得根据用户的需求完成用户的弹性配置。

优选地,所述确定单元113用于基于用户请求,获取负载均衡的性能参数信息;接着,基于所述负载均衡的性能参数信息确定所述执行时间段内待执行的负载均衡方法。

在此,更优选地,所述性能参数信息包括至少以下任一项:带宽量、可创建的连接数、每秒可新建连接数。例如,用户某个月要促销,在该月内要求增大带宽量,所需带宽由之前的a变为b,则根据用户的请求,确定在该月内执行分配给该用户带宽b,其余月的时间段分配带宽a的slb策略;又如,某企业的服务器要在某个时间段内调整可创建连接的个人计算机(pc)的数量,根据可创建的连接数的请求确定在所需的时间段内的slb策略。又或者服务器所需的每秒可新建连接数的请求确定对应的调整的slb策略。需要说明的是,所述带宽量、可创建的连接数和每秒可新建连接数是负载均衡对外提供的资源,可作为用户所拥有的slb性能参数,通过基于时间所创建的slb策略调整了负载均衡分配给用户服务器的资源,使得满足用户使用slb的要求。比如在用户流量较大时增大带宽而在用户流量小时减小带宽这样的弹性策略节省了用户的开支。

优选地,所述确定单元113还用于:当所获取的负载均衡的性能参数信息超过负载均衡已有服务能力的性能参数信息时,则停止生成所述定时任务,并反馈报警通知信息。

在此,判断负载均衡的服务能力是基于转发服务器的能力和定时任务执行的策略所引用的服务能力,比如带宽、可创建的连接数、每秒可新建连接数这些性能参数。如果所有用户选择的slb策略所引用的服务能力之和超过了转发服务器的能力,则告警并通知管理员采取相应的措施,比如限制用户所引用的服务能力或者转发服务器扩容,其中,限制用户所引用的服务能力可以为停止当前所生成的定时任务,即将不满足负载均衡容量的某一slb策略在对应的时间段内停止执行,根据实际情况进行调整slb策略生成新的定时任务以满足要求。

优选地,所述获取装置11还包括:第一更新单元(未示出)和第二更新单元(未示出),其中,所述第一更新单元用于当所述请求时间段与所述已有定时任务的执行时间段存在重合时间段时,则基于所述重合时间段更新所述已有定时任务的执行时间段;第二更新单元用于基于更新的所述执行时间段更新已有定时任务,其中,所述定时任务为单次执行的定时任务或定期循环执行的定时任务。

在一具体实施例中,如图3(a)示出的已有的定时任务和对应时间段内的策略,在时间段a中执行策略a,在时间段b中执行策略b。当用户突然有某种需求,如图3(b)所示的需要在时间段c内执行策略c,而时间段c的一部分时间段属于时间段a,另外一部分时间段属于时间段b,存在重合时间段,此时,需要更新已有定时任务的执行时间段,即将原来的时间段a执行slb策略a和时间段b执行slb策略b更新为时间段a’内执行slb策略a,下一个时间段c内执行slb策略c,接着的时间段b’内执行slb策略b,可以看出,策略a和策略b对应的定时任务的执行时间段发生了改变,这样根据用户的选择请求弹性的配置了用户所需的slb策略,使得负载均衡更加的灵活和适应于不同的环境,拓展了负载均衡的适应性。另外,根据更新的时间段,更新已有的定时任务,如在时间段a’内单次执行策略a的定时任务和在时间段c内循环执行策略c。

优选地,所述执行装置12用于:当对应所述定时任务的执行时间段结束时,删除已有负载均衡方法并获取下一所述执行时间段所对应的负载均衡方法。

在此,在时间段开始的时间点获取到该时间段对应的定时任务,在时间段结束的时间点结束该定时任务,删除该时间段内对应的slb策略,并获取下一个执行时间段对应的slb策略,如在一具体实施例中,用户在3月需要增大带宽,则在3月开始前执行的是slb策略1,当3月开始时删除之前的slb策略1并获取3月对应的slb策略2,即调整3月这个时间段的负载均衡策略,使得用户的配置弹性化。

优选地,所述定时任务包括以下任一项:定期循环执行的定时任务;单次执行的定时任务;所述单次执行的定时任务与定期循环执行的定时任务配合的定时任务。

在此,优选地,基于时间的slb策略可以按照以下方式创建:

1)按时间段循环的策略,如以一天为单位,定义24小时内的slb策略,这些策略每天循环;或以一周为单位,定义7*24小时内的slb策略,这些策略每周循环,又或者以一月为单位,定义30天内的slb策略,这些策略每月循环。获取装置11获取到需要定期循环的时间段信息及对应的slb策略后生成对应的定时任务,该定时任务按要求定期循环执行。需要说明的是,上述按时间段循环的策略的创建方式仅为举例,还可以是以任一单位时间为循环时间段进行循环相应的slb策略,其他现有的或今后可能出现的定期循环执行的定时任务如可适用于本申请,也应包含在本申请保护范围以内,并在此以引用方式包含于此。

2)每个时间段不同的策略,在不同的时间段对应不同的slb策略,且时间段内的策略不循环。即获取到这些时间段信息及对应的slb策略后生成时间段对应的定时任务,当时间段结束时删除对应的策略,不循环执行时间段内的策略。例如,在具体场景中,9:00-17:00这个时间段是上班时间,需要增大带宽,使用slb策略2,而在时间段22:00-次日06:00这个时间段内需要减少带宽,使用slb策略3,其他时间段执行策略1,则生成的定时任务都是单次执行,即在9:00-17:00这个时间段内执行策略2后就结束相应的定时任务,在时间段22:00-次日06:00这个时间段内执行完策略3就结束相对应额定时任务。又如,用户付款时,以一个月为限产生账单,用户因某种情况需要在某一个月内的前一时间段内选择固定带宽的方式,而在剩余的时间段内采用按流量计费方式,则根据用户的需求,在前一时间段内单次执行定时任务a,在此定时任务a是前一时间段内按固定带宽付费的策略,时间段结束则改变付费方式,在剩余的时间段内也单次执行定时任务b,在此定时任务b是指在剩余时间段内按流量付费的策略,时间段结束则停止定时任务b,删除按流量付费策略并获取新的时间段及时间段对应的策略。

3)创建组合策略,在不同的时间段使用不同的策略,且某个时间段内又可以定义循环执行策略。例如,用户在某个月(如11月)流量要大促,则在这个月定一个大带宽,即在其他的月份里执行策略a,在11月这个时间段内执行策略b,增大带宽,但在这个月内的时间段内还可以定义循环策略,按照不同时间段所需的带宽大小不同定义循环的策略,如在这个月的白天时间段内执行策略b’1,在晚上时间段内执行策略b’2。根据用户的选择请求完成单次执行的定时任务与定期循环执行的定时任务配合的定时任务。

需要说明的是,在以上实施例中,获取用户所选择的多种slb策略进而调整的负载均衡进行服务时需满足所有用户使用的策略所引用的服务能力之和不能超过转发服务器的服务能力,若超过,则需要告警并发通知信息进而采取相应的措施。

本领域技术人员应能理解,所述基于时间的slb策略的创建方式仅为举例,其他现有的或今后可能出现的创建方式如可适用于本申请,也应包含在本申请保护范围以内,并在此以引用方式包含于此。

图4示出根据本申请又一个方面的一种基于时间调整的负载均衡的方法的流程示意图。所述方法包括步骤s11和步骤s12,其中,在步骤s11中,获取并记录至少一个定时任务,其中,所述定时任务包括执行时间段及所述执行时间段内待执行的负载均衡方法;在步骤s12中,判断当前时间是否进入某一所述定时任务的执行时间段,若是,则获取所述定时任务所对应的负载均衡方法,并基于对应所述负载均衡方法处理多个服务器之间的负载均衡,直至对应所述定时任务的执行时间段结束。

本申请一实施例所述基于时间调整的负载均衡的方法使得根据用户的请求在请求的执行时间段内执行对应的负载均衡方法,进而实现用户的弹性配置以满足用户的需求,同时增强负载均衡的适用性。

本领域技术人员应能理解,在具体的方案实施中,所述负载均衡策略用于根据用户的访问请求根据相应的已制定的负载均衡策略选择后台服务器去处理请求,为表述方便,我们将在实施例中对负载均衡方法与负载均衡策略(slb策略)进行互换使用。

具体地,在步骤s11中,获取并记录至少一个定时任务,其中,所述定时任务包括执行时间段及所述执行时间段内待执行的负载均衡方法。

在此,负载均衡(serverloadbalancer,slb)是对多台云服务器进行流量分发的负载均衡服务,负载均衡可以通过流量分发扩展应用系统对外的服务能力,通过消除单点故障提升应用系统的可用性。在本申请一实施例中,slb控制器(slbcontroller)将slb策略下发给slb转发服务器,为实现基于时间的策略,需要在slb控制器上创建一个时间服务器,所有与时间相关的策略都会发送给时间服务器,时间服务器根据时间策略下发相应的转发策略到转发服务器。需要说明的是,在上述实施例中,在步骤s11中创建时间服务器,时间服务器实现一次性定时任务和循环的定时任务,其中,定时任务为在时间段内执行用户选择的待执行的负载均衡策略。通过获取用户请求的时间段信息和在时间段内待执行的slb策略信息生成至少一个定时任务,基于定时任务在请求的时间段内执行相应的slb策略。例如,用户根据自己的流量使用情况,在时间段06:00-18:00内选择slb策略a,在时间段18:00-次日06:00内选择slb策略b,将选择的时间段请求信息及对应时间段内执行的slb策略信息发送给时间服务器,并生成了两个定时任务,定时任务a用于时间服务器在时间段06:00-18:00内执行slb策略a,定时任务b用于时间服务器在时间段18:00-次日06:00内执行slb策略b。

本领域技术人员应能理解,所述获取并记录定时任务的方法仅为举例,其他现有的或今后可能出现的获取并记录定时任务的方法如可适用于本申请,也应包含在本申请保护范围以内,并在此以引用方式包含于此。

具体地,在步骤s12中,判断当前时间是否进入某一所述定时任务的执行时间段,若是,则获取所述定时任务所对应的负载均衡方法,并基于对应所述负载均衡方法处理多个服务器之间的负载均衡,直至对应所述定时任务的执行时间段结束。

接前例,当用户根据自己的流量使用情况,在时间段06:00-18:00内选择slb策略a,在时间段18:00-次日06:00内选择slb策略b后,时间服务器获取到所述用户选择的时间段请求信息及对应时间段内执行的slb策略信息,将获取到的信息根据转发策略转发给转发服务器进而实现多个服务器之间的负载均衡,而在执行多个定时任务时,需要判断当前时间是否进入所选择的某一时间段,如若当前时间属于时间段06:00-18:00内,则执行slb策略a,直至时间点18:00结束,然后开始进入下一时间段18:00-次日06:00,此段时间内一直执行slb策略b直至该段时间对应的定时任务b结束。

优选地,如图5示出的根据本申请又一个方面的一个优选实施例的步骤s11的流程示意图。所述步骤s11包括:步骤s111、步骤s112和步骤s113。其中,在步骤s111中,获取用户请求,其中,所述用户请求包括请求时间段及所述请求时间段内待执行的负载均衡方法;接着步骤s112中,基于所述用户请求,生成至少一个定时任务,并基于所述请求时间段确定所述定时任务的执行时间段;最后在步骤s113中,基于所述用户请求,确定所述执行时间段内待执行的负载均衡方法。

在一具体实施例中,在步骤s111中获取用户选择的时间段信息及该时间段内所要使用的slb策略信息,进行步骤s112:根据所获取到的请求信息生成对应的定时任务,确定要执行定时任务的时间段,接着,经过步骤s113确定在执行时间段内执行用户所需的slb策略,即每一时间段内执行相应的slb策略,在该时间段的时间开始时加入slb策略,在时间点结束时删除该slb策略,进入下一个时间段重新加入新的策略然后执行,从而使得根据用户的需求完成用户的弹性配置。

优选地,所述步骤s113包括:基于用户请求,获取负载均衡的性能参数信息;基于所述负载均衡的性能参数信息确定所述执行时间段内待执行的负载均衡方法。

在此,更优选地,所述性能参数信息包括至少以下任一项:带宽量、可创建的连接数、每秒可新建连接数。例如,用户某个月要促销,在该月内要求增大带宽量,所需带宽由之前的a变为b,则根据用户的请求,确定在该月内执行分配给该用户带宽b,其余月的时间段分配带宽a的slb策略;又如,某企业的服务器要在某个时间段内调整可创建连接的个人计算机(pc)的数量,根据可创建的连接数的请求确定在所需的时间段内的slb策略。又或者服务器所需的每秒可新建连接数的请求确定对应的调整的slb策略。需要说明的是,所述带宽量、可创建的连接数和每秒可新建连接数是负载均衡对外提供的资源,可作为用户所拥有的slb性能参数,通过基于时间所创建的slb策略调整了负载均衡分配给用户服务器的资源,使得满足用户使用slb的要求。比如在用户流量较大时增大带宽而在用户流量小时减小带宽这样的弹性策略节省了用户的开支。

优选地,所述步骤s113还包括:当所获取的负载均衡的性能参数信息超过负载均衡已有服务能力的性能参数信息时,则停止生成所述定时任务,并反馈报警通知信息。

在此,判断负载均衡的服务能力是基于转发服务器的能力和定时任务执行的策略所引用的服务能力,比如带宽、可创建的连接数、每秒可新建连接数这些性能参数。如果所有用户选择的slb策略所引用的服务能力之和超过了转发服务器的能力,则告警并通知管理员采取相应的措施,比如限制用户所引用的服务能力或者转发服务器扩容,其中,限制用户所引用的服务能力可以为停止当前所生成的定时任务,即将不满足负载均衡容量的某一slb策略在对应的时间段内停止执行,根据实际情况进行调整slb策略生成新的定时任务以满足要求。

优选地,所述步骤s11还包括:当所述请求时间段与所述已有定时任务的执行时间段存在重合时间段时,则基于所述重合时间段更新所述已有定时任务的执行时间段;接着,基于更新的所述执行时间段更新已有定时任务,其中,所述定时任务为单次执行的定时任务或定期循环执行的定时任务。

在一具体实施例中,如图3(a)示出的已有的定时任务和对应时间段内的策略,在时间段a中执行策略a,在时间段b中执行策略b。当用户突然有某种需求,如图3(b)所示的需要在时间段c内执行策略c,而时间段c的一部分时间段属于时间段a,另外一部分时间段属于时间段b,存在重合时间段,此时,需要更新已有定时任务的执行时间段,即将原来的时间段a执行slb策略a和时间段b执行slb策略b更新为时间段a’内执行slb策略a,下一个时间段c内执行slb策略c,接着的时间段b’内执行slb策略b,可以看出,策略a和策略b对应的定时任务的执行时间段发生了改变,这样根据用户的选择请求弹性的配置了用户所需的slb策略,使得负载均衡更加的灵活和适应于不同的环境,拓展了负载均衡的适应性。另外,根据更新的时间段,更新已有的定时任务,如在时间段a’内单次执行策略a的定时任务和在时间段c内循环执行策略c。

优选地,所述步骤s12包括:当对应所述定时任务的执行时间段结束时,删除已有负载均衡方法并获取下一所述执行时间段所对应的负载均衡方法。

在此,在时间段开始的时间点获取到该时间段对应的定时任务,在时间段结束的时间点结束该定时任务,删除该时间段内对应的slb策略,并获取下一个执行时间段对应的slb策略,如在一具体实施例中,用户在3月需要增大带宽,则在3月开始前执行的是slb策略1,当3月开始时删除之前的slb策略1并获取3月对应的slb策略2,即调整3月这个时间段的负载均衡策略,使得用户的配置弹性化。

优选地,所述定时任务包括以下任一项:定期循环执行的定时任务;单次执行的定时任务;所述单次执行的定时任务与定期循环执行的定时任务配合的定时任务。

在此,优选地,基于时间的slb策略可以按照以下方式创建:

1)按时间段循环的策略,如以一天为单位,定义24小时内的slb策略,这些策略每天循环;或以一周为单位,定义7*24小时内的slb策略,这些策略每周循环,又或者以一月为单位,定义30天内的slb策略,这些策略每月循环。获取装置11获取到需要定期循环的时间段信息及对应的slb策略后生成对应的定时任务,该定时任务按要求定期循环执行。需要说明的是,上述按时间段循环的策略的创建方式仅为举例,还可以是以任一单位时间为循环时间段进行循环相应的slb策略,其他现有的或今后可能出现的定期循环执行的定时任务如可适用于本申请,也应包含在本申请保护范围以内,并在此以引用方式包含于此。

2)每个时间段不同的策略,在不同的时间段对应不同的slb策略,且时间段内的策略不循环。即获取到这些时间段信息及对应的slb策略后生成时间段对应的定时任务,当时间段结束时删除对应的策略,不循环执行时间段内的策略。例如,在具体场景中,9:00-17:00这个时间段是上班时间,需要增大带宽,使用slb策略2,而在时间段22:00-次日06:00这个时间段内需要减少带宽,使用slb策略3,其他时间段执行策略1,则生成的定时任务都是单次执行,即在9:00-17:00这个时间段内执行策略2后就结束相应的定时任务,在时间段22:00-次日06:00这个时间段内执行完策略3就结束相对应额定时任务。又如,用户付款时,以一个月为限产生账单,用户因某种情况需要在某一个月内的前一时间段内选择固定带宽的方式,而在剩余的时间段内采用按流量计费方式,则根据用户的需求,在前一时间段内单次执行定时任务a,在此定时任务a是前一时间段内按固定带宽付费的策略,时间段结束则改变付费方式,在剩余的时间段内也单次执行定时任务b,在此定时任务b是指在剩余时间段内按流量付费的策略,时间段结束则停止定时任务b,删除按流量付费策略并获取新的时间段及时间段对应的策略。

3)创建组合策略,在不同的时间段使用不同的策略,且某个时间段内又可以定义循环执行策略。例如,用户在某个月(如11月)流量要大促,则在这个月定一个大带宽,即在其他的月份里执行策略a,在11月这个时间段内执行策略b,增大带宽,但在这个月内的时间段内还可以定义循环策略,按照不同时间段所需的带宽大小不同定义循环的策略,如在这个月的白天时间段内执行策略b’1,在晚上时间段内执行策略b’2。根据用户的选择请求完成单次执行的定时任务与定期循环执行的定时任务配合的定时任务。

需要说明的是,在以上实施例中,获取用户所选择的多种slb策略进而调整的负载均衡进行服务时需满足所有用户使用的策略所引用的服务能力之和不能超过转发服务器的服务能力,若超过,则需要告警并发通知信息进而采取相应的措施。

本领域技术人员应能理解,所述基于时间的slb策略的创建方式仅为举例,其他现有的或今后可能出现的创建方式如可适用于本申请,也应包含在本申请保护范围以内,并在此以引用方式包含于此。

此外,本申请还提供了一种基于时间调整的负载均衡的设备,包括:

处理器;

以及被安排成存储计算机可执行指令的存储器,所述可执行指令在被执行时使所述处理器:

获取并记录至少一个定时任务,其中,所述定时任务包括执行时间段及所述执行时间段内待执行的负载均衡方法;

判断当前时间是否进入某一所述定时任务的执行时间段,若是,则获取所述定时任务所对应的负载均衡方法,并基于对应所述负载均衡方法处理多个服务器之间的负载均衡,直至对应所述定时任务的执行时间段结束。

需要注意的是,本申请可在软件和/或软件与硬件的组合体中被实施,例如,可采用专用集成电路(asic)、通用目的计算机或任何其他类似硬件设备来实现。在一个实施例中,本申请的软件程序可以通过处理器执行以实现上文所述步骤或功能。同样地,本申请的软件程序(包括相关的数据结构)可以被存储到计算机可读记录介质中,例如,ram存储器,磁或光驱动器或软磁盘及类似设备。另外,本申请的一些步骤或功能可采用硬件来实现,例如,作为与处理器配合从而执行各个步骤或功能的电路。

另外,本申请的一部分可被应用为计算机程序产品,例如计算机程序指令,当其被计算机执行时,通过该计算机的操作,可以调用或提供根据本申请的方法和/或技术方案。而调用本申请的方法的程序指令,可能被存储在固定的或可移动的记录介质中,和/或通过广播或其他信号承载媒体中的数据流而被传输,和/或被存储在根据所述程序指令运行的计算机设备的工作存储器中。在此,根据本申请的一个实施例包括一个装置,该装置包括用于存储计算机程序指令的存储器和用于执行程序指令的处理器,其中,当该计算机程序指令被该处理器执行时,触发该装置运行基于前述根据本申请的多个实施例的方法和/或技术方案。

对于本领域技术人员而言,显然本申请不限于上述示范性实施例的细节,而且在不背离本申请的精神或基本特征的情况下,能够以其他的具体形式实现本申请。因此,无论从哪一点来看,均应将实施例看作是示范性的,而且是非限制性的,本申请的范围由所附权利要求而不是上述说明限定,因此旨在将落在权利要求的等同要件的含义和范围内的所有变化涵括在本申请内。不应将权利要求中的任何附图标记视为限制所涉及的权利要求。此外,显然“包括”一词不排除其他单元或步骤,单数不排除复数。装置权利要求中陈述的多个单元或装置也可以由一个单元或装置通过软件或者硬件来实现。第一,第二等词语用来表示名称,而并不表示任何特定的顺序。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1