本申请涉及信息安全领域,尤其涉及一种流量负载均衡方法、装置、设备及介质。
背景技术:
伴随着虚拟化、云计算的飞速发展,越来越多的人们通过发送访问请求来、获取目标网站,获取目标网站中的资源。为了保证访问请求的安全性,预先在服务器中下发了安全虚拟机,使得该安全虚拟机对访问请求进行安全过滤防护。
图1为现有技术提供的一种基于服务器进行安全过滤防护的示意图,图2为现有技术提供的一种流量负载超载时安全虚拟机调整而造成的防护中断的示意图,现有技术中,安全虚拟机预先下发到服务器上,用于提供安全防护功能,由于在每个服务器中存在多个安全虚拟机,且每个安全虚拟机都预先下发到服务器,但是由于访问请求的不可控性,可能会存在具有一种的安全防护功能的安全虚拟机中存在极少的访问请求,而具有另一种的安全防护功能的安全虚拟机中存在较多的访问请求,导致存在较多的访问请求的服务器中的流量负载超载,进而不能实现对于多于预先设置的流量阈值的流量进行安全过滤防护。即使可以通过对安全虚拟机进行调整,以便由对应的安全虚拟机提供安全防护功能,但是该安全虚拟机下发到服务器需要一定的时间,导致出现流量负载超载时部分访问请求的安全防护中断,进而加大了安全隐患。
技术实现要素:
本发明提供了一种流量负载均衡方法、装置、设备及介质,用以解决现有技术中流量负载超载时导致部分访问请求的安全防护中断,进而加大了安全隐患的问题。
本发明提供了一种流量负载均衡方法,所述方法包括:
根据每个业务流量对应流量统计模型,确定每个业务流量当前周期对应的下一周期的目标流量的信息;
针对每个业务流量对应的访问路径,根据预先保存的流量与负载的对应关系,确定当前访问路径中每台安全虚拟机对应的第一目标负载,并确定将该业务流量迁移到备用访问路径后,备用访问路径中每台虚拟机对应的第二目标负载,若所述第二目标负载小于所述第一目标负载,将该业务流量迁移到所述备用访问路径。
进一步地,所述若所述第二目标负载不小于所述第一目标负载,所述方法还包括:
保持所述业务流量的访问路径不变。
进一步地,所述将该业务流量迁移到所述备用路径之前,所述方法还包括:
判断所述第二目标负载是否小于设定的第一负载阈值;
若是,则进行后续的将该业务流量迁移到所述备用路径的步骤。
进一步地,所述方法还包括:
若所述第二目标负载不小于设定的第一负载阈值,则启动目标安全虚拟机,将所述业务流量迁移到所述目标安全虚拟机。
进一步地,所述方法还包括:
若任一安全虚拟机的负载小于设定的第二负载阈值,将该安全虚拟机关闭。
本发明提供了一种流量负载均衡装置,所述装置包括:
确定模块,用于根据每个业务流量对应流量统计模型,确定每个业务流量当前周期对应的下一周期的目标流量的信息;
处理模块,用于针对每个业务流量对应的访问路径,根据预先保存的流量与负载的对应关系,确定当前访问路径中每台安全虚拟机对应的第一目标负载,并确定将该业务流量迁移到备用访问路径后,备用访问路径中每台虚拟机对应的第二目标负载,若所述第二目标负载小于所述第一目标负载,将该业务流量迁移到所述备用访问路径。
进一步地,所述处理模块,还用于保持所述业务流量的访问路径不变。
进一步地,所述处理模块,还用于判断所述第二目标负载是否小于设定的第一负载阈值;若是,则进行后续的将该业务流量迁移到所述备用路径的步骤。
进一步地,所述处理模块,还用于若所述第二目标负载不小于设定的第一负载阈值,则启动目标安全虚拟机,将所述业务流量迁移到所述目标安全虚拟机。
进一步地,所述处理模块,还用于若任一安全虚拟机的负载小于设定的第二负载阈值,将该安全虚拟机关闭。
本发明提供了一种电子设备,所述电子设备包括处理器,所述处理器用于执行存储器中存储的计算机程序时实现如上述任一所述流量负载均衡方法的步骤。
本发明提供了一种计算机可读存储介质,其存储有可由终端执行的计算机程序,当所述程序在所述终端上运行时,使得所述终端执行上述任一项所述流量负载均衡方法的步骤。
在本发明实施例中,根据每个业务流量对应流量统计模型,确定每个业务流量当前周期对应的下一周期的目标流量的信息,针对每个业务流量对应的访问路径,根据预先保存的流量与负载的对应关系,确定当前访问路径中每台安全虚拟机对应的第一目标负载,并确定将该业务流量迁移到备用路径后,备用路径中每台虚拟机对应的第二目标负载,若该第二目标负载小于该第一目标负载,将该业务流量迁移到该备用路径。由于本发明实施例中,每个业务流量当前周期对应的下一周期的目标流量的信息,对业务流量进行预测,并根据预测的下一周期的目标流量,确定负载最合理的访问路径,避免出现流量负载超载时部分访问请求的安全防护中断,降低了安全隐患。
附图说明
为了更清楚地说明本发明的技术方案,下面将对实施例描述中所需要使用的附图作简要介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域的普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为现有技术提供的一种基于服务器进行安全过滤防护的示意图;
图2为现有技术提供的一种流量负载超载时安全虚拟机调整而造成的防护中断的示意图;
图3为本发明实施例提供的一种流量负载均衡方法的过程示意图;
图4a为本发明实施例提供的一种初始状态未设置访问路径的过程示意图;
图4b为本发明实施例提供的一种针对业务流量a的访问路径进行规划的过程示意图;
图4c为本发明实施例提供的一种针对业务流量b的访问路径进行规划的过程示意图;
图4d为本发明实施例提供的一种针对业务流量c的访问路径进行规划的过程示意图;
图5a为本发明实施例提供的一种各业务流量的访问路径规划完成后未进行访问路径调整的过程示意图;
图5b为本发明实施例提供的一种伴随着业务流量的增加各安全虚拟机的负载占用情况示意图;
图5c为本发明实施例提供的一种基于已经开启的安全虚拟机实现负载均衡的过程示意图;
图5d为本发明实施例提供的一种不能基于已经开启的安全虚拟机实现负载均衡的过程示意图;
图6为本发明实施例提供的一种流量负载均衡装置结构示意图;
图7为本发明实施例提供的一种电子设备。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部实施例。基于本发明中的实施例,本领域普通技术人员所获取的所有其他实施例,都属于本发明保护的范围。
为了避免流量负载超载导致部分访问请求的安全防护中断,加大了安全隐患的问题,本发明实施例提供了一种流量负载均衡方法、装置、设备及介质。
实施例1:
图3为本发明实施例提供的一种流量负载均衡方法的过程示意图,该过程包括以下步骤:
s301:根据每个业务流量对应流量统计模型,确定每个业务流量当前周期对应的下一周期的目标流量的信息。
本发明实施例提供的流量负载均衡方法应用于控制器,其中该控制器用于生成转发表,从而规划访问路径。
为了避免流量负载超载时部分访问请求的安全防护中断的问题,在本发明实施例中,预先统计有每个业务流量对应的流量统计模型,即统计每个业务流量随时间变化的情况,生成该业务流量随时间变化的波形图,即生成该业务流量的流量统计模型。其中,可以根据该波形图的波峰和波谷,确定该业务流量的变化情况。根据该流量统计模型,可以提前预测未来任一具体时间对应的业务流量的信息,根据提前确定的业务流量信息,提前进行访问路径规划,也可以对将能够承载某种安全能力的安全虚拟机的实际数量进行调整,提前对访问路径进行规划,从而避免出现安全防护中断的问题。
为了方便进行访问路径规划,可以将设定时间间隔作为一个周期,统计每个业务流量随时间变化的情况,也就是确定每个业务流量在任一周期的目标流量的信息,其中,该业务流量可以为进行安全防护的网站对应的流量,例如进行安全防护的网站包括网站a和网站b,则业务流量可以是访问网站a的流量,也可以为访问网站b的流量等。
根据预先统计的每个业务流量对应的流量统计模型,确定当前周期的下一周期每个业务流量的目标流量的信息。
此外,该流量模型在初始状态是通过人工设置的,由于业务流量是变化的,因此在预先设置了流量模型后,根据后续实际的业务流量情况修正,也就是对于流量模型中的参数进行调整,从而对生成该业务流量随时间变化的波形图进行调整。
s302:针对每个业务流量对应的访问路径,根据预先保存的流量与负载的对应关系,确定当前访问路径中每台安全虚拟机对应的第一目标负载,并确定将该业务流量,若该第二目标负载小于该第一目标负载,将该业务流量迁移到该备用路径。
为了保证对于访问网站的安全防护,在本发明实施例中,在控制器中针对每个业务流量都对应保存有该业务流量对应的访问路径,从而使得业务流量到来时,能够基于该保存的该业务流量对应的访问路径,串行承载特定类型安全能力的安全虚拟机,其中,该访问路径可以为多条,并在控制器中依次保存有多条路径的优先级关系,且当该业务流量进行访问时,预先访问优先级最高的访问路径,将其他访问路径作为备用访问路径。
此外,由于业务流量是不断变化的,且变化的速度十分快,该安全资源,也就是安全虚拟机的调配是需要时间的,也就是安全资源配置的速度在当前技术条件下要远远低于业务流量的变化速度,因此若在业务流量变化之后,再进行安全资源的调配会导致一定时间的超载,且会导致业务受损,因此可以预先在流量变化之前,预先改变保存在转发表中每个业务流量对应的访问路径,也就是改变保存的有多条访问路径的优先级关系,或者调整某种承载安全虚拟机的实际数量。
在控制器中预先保存有流量与负载的对应关系,即多大的流量可以产生多少负载,因此在确定当前周期的下一周期的目标流量信息后,可以根据该对应关系,确定该目标流量对应的负载,从而根据每个安全虚拟机的当前的负载以及该对应的负载,确定当前访问路径中每台安全虚拟机对应的第一目标负载,也就是确定下一周期的流量在流经当前访问路径时,该当前访问路径中各台安全虚拟机对应的第一目标负载。其中,该当前访问路径中包括至少一台安全虚拟机,若该访问路径中包含至少两台安全虚拟机,则该至少两台安全虚拟机提供的不同的安全防护功能。
此外,在本发明实施例中,预先存在一个资源池,其中,各个服务器部署在该资源池中,每个服务器中部署有安全虚拟机,为了提高安全过滤防护能力,安全资源池通常采用集群的方式部署,可以预先设置一个资源池集群交换机,连接多个虚拟交换机,实现将所有的服务器,也就是资源池宿主机(服务器)进行集群部署,其中该资源池宿主机中包括虚拟交换机,以及下发的安全虚拟机。
为了确定将业务流量迁移到其他备用访问路径时,会不会导致其他备用访问路径时的负载均衡情况与该业务流量在当前访问路径时的负载均衡能力更差,在本发明实施例中,为了达到负载均衡,将流量负载均衡的部署到每台安全虚拟机,在确定第一目标负载后,确定若将该业务流量迁移到备用路径后,备用路径中每台虚拟机对应的第二目标负载,将第一目标负载与第二目标负载进行对比,确定是否将业务流量迁移到备用访问路径。具体的,若第二目标负载小于第一目标负载,则说明若将该业务流量迁移到备用访问路径时,进行安全防护的安全虚拟机的负载比在当前路径时进行安全防护的安全虚拟机的负载轻,此时,将业务流量迁移到备用访问路径中能够实现流量负载均衡。
在本发明实施例中该第一目标负载和第二目标负载可以是访问路径中每台安全虚拟机的平均负载,如果访问路径中只有一台安全虚拟机,则该目标负载即为该一台安全虚拟机的负载,如果访问路径中包含两台以上的安全虚拟机,则该目标负载即为该两台以上的安全虚拟机的平均负载。
由于本发明实施例中,每个业务流量当前周期对应的下一周期的目标流量的信息,对业务流量进行预测,并根据预测的下一周期的目标流量,确定负载最合理的访问路径,避免出现流量负载超载时部分访问请求的安全防护中断,降低了安全隐患。
实施例2:
为了确定需不需要将业务流量迁移到备用访问路径中,在上述实施例的基础上,在本发明实施例中,所述若所述第二目标负载不小于所述第一目标负载,所述方法还包括:
保持所述业务流量的访问路径不变。
若第二目标负载不小于第一目标负载,则说明若将该业务流量迁移到备用访问路径时的进行安全防护的安全虚拟机的负载数比在当前路径时进行安全防护的安全虚拟机的负载数多,此时,更容易出现安全虚拟机上承受的负载超载的情况,将业务流量迁移到备用访问路径中不如将当前业务流量流经当前路径的性能好,因此在第二目标负载不小于所述第一目标负载时,保持该业务流量的访问路径不变。
图4a为本发明实施例提供的一种初始状态未设置访问路径的过程示意图,图4b为本发明实施例提供的一种针对业务流量a的访问路径进行规划的过程示意图,图4c为本发明实施例提供的一种针对业务流量b的访问路径进行规划的过程示意图,图4d为本发明实施例提供的一种针对业务流量c的访问路径进行规划的过程示意图,现结合图4a、图4b和图4c和图4d进行说明。
假设互联网上存在客户端a、客户端b以及客户端c,业务云中存在站点a、站点b以及站点c,也就是网站a、网站b以及网站c,该客户端a用于发送业务流量a,且该业务流量a用于访问网站a,该客户端b用于发送业务流量b,且该业务流量b用于访问网站b,该客户端c用于发送业务流量c,且该业务流量c用于访问网站c。
安全资源池也就是资源池,其中有集群第二层交换机,安全控制器,也就是控制器,以及两个服务器,也就是两个资源池宿主机,分别为资源池宿主机a、资源池宿主机b,其中,每个资源池宿主机中部署有虚拟交换机以及两个安全虚拟机。具体的,资源池宿主机a承载安全虚拟机a和安全虚拟机b,资源池宿主机b承载安全虚拟机c和安全虚拟机d。
假设该网站a需要安全能力1和安全能力2,该网站b需要安全能力1和安全能力2,该网站c需要安全能力2,其中,该安全能力1可以由安全虚拟机a、安全虚拟机c提供,该安全能力2由安全虚拟机b、安全虚拟机d提供,且该安全控制器起到控制的作用,包括对访问路径的规划,包含有访问路径的转发表的下发到服务器等。此外,互联网、业务云以及安全资源池在进行交互时,基于云出口的路由器进行交互。
在初始状态下,也就是未对业务流量a、业务流量b以及业务流量c进行访问路径规划之前,各个业务流量不经过资源池,也就是资源池中的安全虚拟机对各个业务流量不提供安全过滤防护,该业务流量a、业务流量b以及业务流量c直接流经云出口的路由器,分别对业务云中的网站a、网站b以及网站c进行访问,如图4a所示。
为了对站点a、站点b以及站点c增加安全防护,不同的站点需要不同的安全能力,其中网站a和站点b需要安全能力1和安全能力2,站点c需要安全能力2,图4b中的实线代表的为业务流量a的优先级高的访问路径,虚线代表的业务流量a的优先级低的访问路径,也就是说针对网站a的业务流量进行防护的优先级最高的访问路径是安全虚拟机a->安全虚拟机b。具体的,在确定业务流量a的访问路径的优先级时,为了规划合理的访问路径,使得业务流量a流经访问路径时,能够通过该访问路径中的各个安全虚拟机实现对应的安全过滤防护,也就是需要考虑站点a所需要的安全能力种类,还需要保证挑选最空闲的宿主机和安全虚拟机作为访问路径,且还需要保证多条访问路径的安全资源隔离,也就是业务流量a的各个路径中的宿主机和安全虚拟机不相同,且涉及的宿主机和安全虚拟机资源占用率低的访问路径的优先级最高。
针对业务流量a,设置该业务流量a的访问路径的优先级时,由于业务流量a用于访问网站a,且网站a需要安全能力1和安全能力2,则该业务流量a需要流经能够提供安全能力1和安全能力2的安全虚拟机,因此该业务流量a的访问路径可以为安全虚拟机a->安全虚拟机b,安全虚拟机a->安全虚拟机d、安全虚拟机c->安全虚拟机b、安全虚拟机c->安全虚拟机d,由于该安全虚拟机a、安全虚拟机b、安全虚拟机c、安全虚拟机d的负载均为0,因此可以预先针对业务流量a设置,访问路径的中优先级最高的访问路径为安全虚拟机a-安全虚拟机b,安全虚拟机a->安全虚拟机d、安全虚拟机c->安全虚拟机b、安全虚拟机c->安全虚拟机d四个路径中的任意一个访问路径,假设将安全虚拟机a-安全虚拟机b作为访问路径的中优先级最高的访问路径,备用路径设置为安全虚拟机c->安全虚拟机d。且假设该业务流量a流经该优先级最高的访问路径后,占用安全虚拟机负载的30%,则安全虚拟机a、安全虚拟机b、安全虚拟机c、安全虚拟机d此时的第一目标负载分别为30%、30%、0%、0%,如图4b所示。
图4c中的实线代表的为业务流量b的优先级高的访问路径,虚线代表的业务流量b的优先级低的访问路径,也就是说针对网站b的业务流量进行防护的优先级最高的访问路径是安全虚拟机c->安全虚拟机d,具体的,在确定业务流量b的访问路径的优先级时,为了规划合理的访问路径,使得业务流量b流经访问路径时,能够通过该访问路径中的各个安全虚拟机实现对应的安全过滤防护,也就是需要考虑站点b所需要的安全能力种类,还需要保证挑选最空闲的宿主机和安全虚拟机作为流量路径,且还需要保证多条访问路径的安全资源隔离,也就是业务流量b的各个路径中的宿主机和安全虚拟机不相同,且涉及的宿主机和安全虚拟机资源占用率低的访问路径的优先级最高。
在对业务流量a的访问路径规划完成后,针对业务流量b,设置该业务流量b的访问路径时,由于业务流量b用于访问网站b,且网站b需要安全能力1和安全能力2,则该业务流量b需要流经能够提供安全能力1和安全能力2的安全虚拟机,因此该业务流量b的访问路径可以为安全虚拟机a->安全虚拟机b,安全虚拟机a->安全虚拟机d、安全虚拟机c->安全虚拟机b、安全虚拟机c->安全虚拟机d,由于此时安全虚拟机a、安全虚拟机b、安全虚拟机c、安全虚拟机d的此时的第一目标负载分别为30%、30%、0%、0%。为了实现负载均衡,且安全虚拟机c、安全虚拟机d的负载均为0,因此针对业务流量b,可以将该业务流量b的访问路径的中优先级最高的为安全虚拟机c->安全虚拟机d,备用路径为安全虚拟机a->安全虚拟机b,且假设该业务流量b流经该优先级最高的访问路径后,占用安全虚拟机负载的50%,则安全虚拟机a、安全虚拟机b、安全虚拟机c、安全虚拟机d的此时的第一目标负载分别为30%、30%、50%、50%,如图4c所示。
图4d中的实线代表的为业务流量c的优先级高的访问路径,虚线代表的业务流量c的优先级低的访问路径,也就是说针对网站c的业务流量进行防护的优先级最高的访问路径是安全虚拟机b,具体的,在确定业务流量c的访问路径的优先级时,为了规划合理的访问路径,使得业务流量c流经访问路径时,能够通过该访问路径中的各个安全虚拟机实现对应的安全过滤防护,也就是需要考虑站点c所需要的安全能力种类,还需要保证挑选最空闲的宿主机和安全虚拟机作为流量路径,且还需要保证多条访问路径的安全资源隔离,也就是业务流量c的各个路径中的宿主机和安全虚拟机不相同,且涉及的宿主机和安全虚拟机资源占用率低的访问路径的优先级最高。
针对业务流量c,设置该业务流量c的访问路径时,由于业务流量c用于访问网站c,且网站c需要安全能力2,则该业务流量c需要流经能够提供安全能力2的安全虚拟机,因此该业务流量c的访问路径可以为安全虚拟机b或者安全虚拟机d,由于此时该安全虚拟机a、安全虚拟机b、安全虚拟机c、安全虚拟机d的此时的第一目标负载分别为30%、30%、50%、50%,由于安全虚拟机b的负载小于安全虚拟机d的负载,因此为了实现负载均衡,针对业务流量c,可以将该业务流量c的访问路径的中优先级最高的为安全虚拟机b,备用路径为安全虚拟机d,且假设该业务流量c流经该优先级最高的访问路径后,占用安全虚拟机负载的30%,则安全虚拟机a、安全虚拟机b、安全虚拟机c、安全虚拟机d的此时的第一目标负载分别为30%、60%、50%、50%,如图4d所示。
此外,在本发明实施例中,控制器用于确定各个业务流量的访问路径,在图4b、图4c和图4d中的点划线代表安全控制器用来进行访问路径规划,并将该规划好的访问路径整理为转发表,将该转发表下发到各个资源宿主机中,也可以用于下发各站点对应的各个业务流量的流量牵引指令,还可以用于向安全虚拟机下发安全策略配置。
实施例3:
为了确定能不能将业务流量迁移到备用访问路径中,在上述实施例的基础上,在本发明实施例中,所述将该业务流量迁移到所述备用路径之前,所述方法还包括:
判断所述第二目标负载是否小于设定的第一负载阈值;
若是,则进行后续的将该业务流量迁移到所述备用路径的步骤。
在本发明实施例中,若该第二目标负载小于该第一目标负载,则说明将该业务流量迁移到备用访问路径比该业务流量流经当前路径的性能更好,也就是将该业务流量迁移到备用访问路径比该业务流量流经当前路径更能够实现流量负载均衡,但是该流量迁移到备用访问路径也可能出现该备用访问路径的任一安全虚拟机的负载超载的情况。因此,为了实现流量负载均衡,在本发明实施例中,预先设置了第一负载阈值,将该第二目标负载与第一负载阈值进行比较,确定将该业务流量迁移到备用访问路径后,安全虚拟机的负载是否超载,具体的,若该第二目标负载小于设定的第一负载阈值,则说明将业务流量迁移到备用访问路径也不会导致该备用访问路径中的安全虚拟机负载超载,因此可以进行后续将该业务流量迁移到所述备用路径的步骤。
为了确定能不能将业务流量迁移到备用访问路径中,在上述实施例的基础上,在本发明实施例中,所述方法还包括:
若所述第二目标负载不小于设定的流量阈值,则启动目标安全虚拟机,将所述业务流量迁移到所述目标安全虚拟机。
若该第二目标负载不小于设定的第一负载阈值,则说明将业务流量迁移到备用访问路径会导致该备用访问路径中的安全虚拟机负载超载,因此将该业务流量迁移到备用访问路径不可行,因此,可以启动目标安全虚拟机,将该业务流量迁移到该目标安全虚拟机中。
实施例4:
为了保证服务器中的安全虚拟机开启的数目不超过安全虚拟机阈值,在上述各实施例的基础上,在本发明实施例中,所述方法还包括:
若任一安全虚拟机的负载小于设定的第二负载阈值,将该安全虚拟机关闭。
由于服务器中能够部署的安全虚拟机的数量是有限的,因此在第二目标负载不小于设定的流量阈值,则启动目标安全虚拟机,由于该目标安全虚拟机启动,因此需要关闭其他的安全虚拟机,由于为了保证安全虚拟机能够对业务流量进行防护,当安全虚拟机上的负载数目多时,关闭该安全虚拟机则需要将该安全虚拟机上的所有流量负载迁移到其他安全虚拟机上,以便实现流量负载均衡,但是该实现负载均衡的复杂度更高。当安全虚拟机上的负载数目少时,关闭该安全虚拟机则需要将该安全虚拟机上所有的流量负载迁移到其他安全虚拟机上,以便实现流量负载均衡,但是该实现负载均衡的复杂度更低。因此,在本发明实施例中,设定了一个的第二负载阈值,将该安全虚拟机的负载与第二负载阈值进行比较,若任一安全虚拟机中的负载小于设定的第二负载阈值,说明该安全虚拟机上的流量负载数目较少,在关闭该安全虚拟机后,将该安全虚拟机上的业务流量迁移到其他安全虚拟机上。
图5a为本发明实施例提供的一种各业务流量的访问路径规划完成后未进行访问路径调整的过程示意图,图5b为本发明实施例提供的一种伴随着业务流量的增加各安全虚拟机的负载占用情况示意图,图5c为本发明实施例提供的一种基于已经开启的安全虚拟机实现负载均衡的过程示意图,图5d为本发明实施例提供的一种不能基于已经开启的安全虚拟机实现负载均衡的过程示意图,现结合图5a-图5d进行说明。
在经过控制器上的路径规划算法,对业务流量a、b、c进行安全资源分配后,在业务流量当前的带宽大小情况下,各个宿主机和安全虚拟机的负载达到基本的均衡,但是由于各个业务流量以及安全虚拟机的负载是动态变化的,因此控制器需要不断的采集宿主机和安全虚拟机的负载信息,根据该负载信息重新对访问路径进行规划并刷新。
图5a中的实线代表的为业务流量a的优先级高的访问路径,虚线代表的业务流量b的优先级高的访问路径,点划线代表的业务流量c的优先级高的访问路径,控制器在对访问路径进行规划并刷新的过程中,安全控制器不断的采集宿主机和安全虚拟机的部署和资源占用信息,以及相关站点所需要的安全能力,进行各个业务流量的访问路径进行刷新的过程中,控制器根据采集资源找到资源占用率高于平均水平的宿主机或安全虚拟机,且控制器找到流经上述资源占用高的宿主机或安全虚拟机的访问路径,并对上述访问路径上的业务流量进行统计获得流量的大小,然后根据该业务流量对应的每一条访问路径的资源池中的安全虚拟机的负载情况,也就是根据预先保存的流量和负载的对应关系,确定该业务流量对应的每一条访问路径的资源池中的安全虚拟机的负载情况,并确定能够使得资源池资源占用最平衡的访问路径,然后将该访问路径作为优先级最高的访问路径。
具体的,在规划好业务流量a,业务流量b,业务流量c的访问路径后,且业务流量a,业务流量b,业务流量c在访问路径规划完成后依次流经按照各自预先设置的访问路径中优先级最高的访问路径后,安全虚拟机a、安全虚拟机b、安全虚拟机c、安全虚拟机d的此时的负载分别为30%、60%、50%、50%,且各自访问路径中的安全虚拟机上在进行安全过滤防护后,分别访问云业务里的网站a,网站b,网站c。
下面以业务流量a为例进行说明:
伴随着业务流量的增多,可能会导致该某个业务流量在流经该业务流量对应的优先级最高的访问路径中的安全虚拟机的负载增多,假如业务流量a的负载增多,也就是该业务流量a的优先级最高的访问路径中的安全虚拟机的负载增多,也就是,假设业务流量a又流经安全虚拟机a-安全虚拟机b这条访问路径,导致该访问路径中的中安全虚拟机a、安全虚拟机b分别又增加了30%的负载,此时安全虚拟机a、安全虚拟机b、安全虚拟机c、安全虚拟机d的此时的负载分别为60%、90%、50%、50%。假设预先设定每个安全虚拟机的负载阈值未80%,则当前情况下,因此该安全虚机b的负载会超载,因此为了避免安全虚拟机的负载超载,保证流量负载均衡,需要提前调整访问路径,对访问路径提前进行规划调整以便实现流量负载均衡。
由于在保证实现流量负载均衡的同时,还需要保证该业务流量a在流经备选路径时能够实现相同的安全过滤防护,因此需要找到与安全虚拟机b具有相同的安全能力的安全虚拟机,也就是安全虚拟机d,若将该业务流量a迁移到包含安全虚拟机d的备用路径后,确定备用路径中每台虚拟机对应的第二目标负载,由于将该业务流量a迁移到包含安全虚拟机d的备用路径后安全虚拟机a、安全虚拟机b、安全虚拟机c、安全虚拟机d的此时的负载分别为60%、60%、50%、80%,由于迁移之前的安全虚拟机a、安全虚拟机b、安全虚拟机c、安全虚拟机d的此时的负载分别为60%、90%、50%、50%,此时,该将业务流量迁移到备用访问路径之前的第一目标负载为安全虚拟机a、安全虚拟机b、安全虚拟机c、安全虚拟机d中的负载的平均值,也就是62.5%,而将业务流量迁移到备用访问路径之后的第二目标负载为安全虚拟机a、安全虚拟机b、安全虚拟机c、安全虚拟机d中的负载的平均值,也是62.5%,但是迁移之前的安全虚拟机中负载最重的安全虚拟机b负载为90%,迁移之后的安全虚拟机中负载最重的安全虚拟机d负载为80%,则此说明时迁移到备用访问路径后,使得流量负载均衡效果更佳,因此将安全虚拟机a-安全虚拟机d作为业务流量a的优先级最高的访问路径,基于已经开启的安全虚拟机实现负载均衡。若业务流量a迁移之前的第一目标负载为70%,业务流量a迁移之后的第二目标负载为60%,则该第一目标负载大于该第二目标负载,同样将该备用访问路径确认为优先级最高的访问路径。
若存在安全能力1和安全能力2对应的安全虚拟机的负载差别特别大时,也就是安全能力1对应的安全虚拟机a和安全虚拟机c的负载特别轻,安全能力2对应的安全虚拟机b和安全虚拟机d的负载特别重,或安全能力1对应的安全虚拟机a和安全虚拟机c的负载特别重,安全能力2对应的安全虚拟机b和安全虚拟机d的负载特别轻时,由于实现相同的安全过滤防护的安全虚拟机的负载都特别重,因此无法实现基于已经开启的安全虚拟机进行业务流量迁移,也就是无法基于将具有同样安全防护能力的安全虚拟机上的业务流量迁移到其他具有安全防护能力的其他安全虚拟机上,因此可以启动目标安全虚拟机,将负载中的安全虚拟机上的业务流量迁移到该目标安全虚拟机上。比如,当前安全虚拟机a、安全虚拟机b、安全虚拟机c、安全虚拟机d的此时的负载分别为20%、80%、10%、60%,此时安全能力2对应的安全虚拟机b和安全虚拟机d的负载特别重,因此启动了与安全虚拟机b和安全虚拟机d具有同样安全防护能力的目标安全虚拟机e,将该业务流量迁移到目标安全虚拟机e上,并且关闭该服务器中安全虚拟机负载较轻的安全虚拟机c,以实现流量负载均衡。总之,若确定需要流经提供安全能力2安全虚拟机的业务流量的使用峰值到来前,提前对访问路径进行动态调整,提前在宿主机b上将空闲的提供安全能力1安全虚机c关停,并在关停安全虚机c之前,将安全虚机c上的负载流量切换到与该安全虚机c具有相同防护能力的安全虚机a上,并启动目标安全虚机e来补充安全能力2,最终通过访问路径调整实现整体相对流量负载均衡,在对访问流量进行调整后,将安全资源重新部署,也就是启动目标安全虚拟机e,关停安全虚拟机c,最终将调整后的访问路径存储在转发表中,发送给宿主机,也就是服务器,最后向安全虚拟机下发安全配置策略。
实施例5:
图6为本发明实施例提供的一种流量负载均衡装置结构示意图,该装置包括:
确定模块601,用于根据每个业务流量对应流量统计模型,确定每个业务流量当前周期对应的下一周期的目标流量的信息;
处理模块602,用于针对每个业务流量对应的访问路径,根据预先保存的流量与负载的对应关系,确定当前访问路径中每台安全虚拟机对应的第一目标负载,并确定将该业务流量迁移到备用访问路径后,备用访问路径中每台虚拟机对应的第二目标负载,若所述第二目标负载小于所述第一目标负载,将该业务流量迁移到所述备用访问路径。
在一种可能的实施方式中,所述处理模块602,还用于保持所述业务流量的访问路径不变。
在一种可能的实施方式中,所述处理模块602,还用于判断所述第二目标负载是否小于设定的第一负载阈值;若是,则进行后续的将该业务流量迁移到所述备用路径的步骤。
在一种可能的实施方式中,所述处理模块602,还用于若所述第二目标负载不小于设定的第一负载阈值,则启动目标安全虚拟机,将所述业务流量迁移到所述目标安全虚拟机。
在一种可能的实施方式中,所述处理模块602,还用于若任一安全虚拟机的负载小于设定的第二负载阈值,将该安全虚拟机关闭。
实施例6:
在上述各实施例的基础上,本发明一些实施例还提供了一种电子设备,如图7所示,包括:处理器701、通信接口702、存储器703和通信总线704,其中,处理器701,通信接口702,存储器703通过通信总线704完成相互间的通信。
所述存储器703中存储有计算机程序,当所述程序被所述处理器701执行时,使得所述处理器701执行如下步骤:
根据每个业务流量对应流量统计模型,确定每个业务流量当前周期对应的下一周期的目标流量的信息;
针对每个业务流量对应的访问路径,根据预先保存的流量与负载的对应关系,确定当前访问路径中每台安全虚拟机对应的第一目标负载,并确定将该业务流量迁移到备用访问路径后,备用访问路径中每台虚拟机对应的第二目标负载,若所述第二目标负载小于所述第一目标负载,将该业务流量迁移到所述备用访问路径。
进一步地,所述处理器701,还用于保持所述业务流量的访问路径不变。
进一步地,所述处理器701,还用于判断所述第二目标负载是否小于设定的第一负载阈值;若是,则进行后续的将该业务流量迁移到所述备用路径的步骤。
进一步地,所述处理器701,还用于若所述第二目标负载不小于设定的第一负载阈值,则启动目标安全虚拟机,将所述业务流量迁移到所述目标安全虚拟机。
进一步地,所述处理器701,还用于若任一安全虚拟机的负载小于设定的第二负载阈值,将该安全虚拟机关闭。
上述服务器提到的通信总线可以是外设部件互连标准(peripheralcomponentinterconnect,pci)总线或扩展工业标准结构(extendedindustrystandardarchitecture,eisa)总线等。该通信总线可以分为地址总线、数据总线、控制总线等。为便于表示,图中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
通信接口702用于上述电子设备与其他设备之间的通信。
存储器可以包括随机存取存储器(randomaccessmemory,ram),也可以包括非易失性存储器(non-volatilememory,nvm),例如至少一个磁盘存储器。可选地,存储器还可以是至少一个位于远离前述处理器的存储装置。
上述处理器可以是通用处理器,包括中央处理器、网络处理器(networkprocessor,np)等;还可以是数字指令处理器(digitalsignalprocessing,dsp)、专用集成电路、现场可编程门陈列或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。
实施例7:
在上述各实施例的基础上,本发明实施例还提供了一种计算机可读存储介质,所述计算机可读存储介质内存储有可由电子设备执行的计算机程序,当所述程序在所述电子设备上运行时,使得所述电子设备执行时实现如下步骤:
根据每个业务流量对应流量统计模型,确定每个业务流量当前周期对应的下一周期的目标流量的信息;
针对每个业务流量对应的访问路径,根据预先保存的流量与负载的对应关系,确定当前访问路径中每台安全虚拟机对应的第一目标负载,并确定将该业务流量迁移到备用访问路径后,备用访问路径中每台虚拟机对应的第二目标负载,若所述第二目标负载小于所述第一目标负载,将该业务流量迁移到所述备用访问路径。
进一步地,所述若所述第二目标负载不小于所述第一目标负载,所述方法还包括:
保持所述业务流量的访问路径不变。
进一步地,所述将该业务流量迁移到所述备用路径之前,所述方法还包括:
判断所述第二目标负载是否小于设定的第一负载阈值;
若是,则进行后续的将该业务流量迁移到所述备用路径的步骤。
进一步地,所述方法还包括:
若所述第二目标负载不小于设定的第一负载阈值,则启动目标安全虚拟机,将所述业务流量迁移到所述目标安全虚拟机。
进一步地,所述方法还包括:
若任一安全虚拟机的负载小于设定的第二负载阈值,将该安全虚拟机关闭。
由于本发明实施例中,每个业务流量当前周期对应的下一周期的目标流量的信息,对业务流量进行预测,并根据预测的下一周期的目标流量,确定负载最合理的访问路径,避免出现流量负载超载时部分访问请求的安全防护中断,降低了安全隐患。
本领域内的技术人员应明白,本申请的实施例可提供为方法、系统、或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、cd-rom、光学存储器等)上实施的计算机程序产品的形式。
本申请是参照根据本申请的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。显然,本领域的技术人员可以对本申请进行各种改动和变型而不脱离本申请的精神和范围。这样,倘若本申请的这些修改和变型属于本申请权利要求及其等同技术的范围之内,则本申请也意图包含这些改动和变型在内。