发明内容
有鉴于此,本发明提供一种分布式系统的节能控制方法,能够进行精细的节能控制,从而在保证系统满足业务性能的前提下,尽最大可能节能。
本发明还提供一种分布式系统和主控装置,能够进行精细的节能控制,从而在保证系统满足业务性能的前提下,尽最大可能节能。
为实现上述目的,本发明采用如下的技术方案:
一种分布式系统的节能控制方法,包括:
主控装置根据系统当前总的业务负荷、当前总的业务处理能力以及各个业务处理装置的当前业务处理能力,分别确定各个业务处理装置的节能操作,并将指示各个业务处理装置节能操作的各个指令对应下发给各个业务处理装置。
较佳地,所述分别确定各个业务处理装置的节能操作为:
根据系统当前总的业务负荷和当前总的业务处理能力确定当前业务负荷变化,然后根据该当前业务负荷变化确定分布式系统的整体节能操作;
根据各个业务处理装置的当前业务处理能力和确定的分布式系统的整体节能操作,分别确定各个业务处理装置的节能操作。
较佳地,若系统的当前业务负荷变化为减轻,则所述根据当前业务负荷变化确定分布式系统的整体节能操作为:确定分布式系统的整体节能操作为节能,并确定单位时间内业务处理能力的降低量为节能量;所述根据各个业务处理装置的当前业务处理能力和确定的分布式系统的整体节能操作分别确定各个业务处理装置的节能操作为:将所述节能量分配到各个业务处理装置中,使所有业务处理装置的节能总量与所述节能量相等;
若系统的当前业务负荷变化情况为加重,则所述根据当前业务负荷变化确定分布式系统的整体节能操作为:确定分布式系统的整体节能操作为增加总的业务处理能力,并确定业务处理能力增加量;所述根据各个业务处理装置的当前业务处理能力和确定的分布式系统的整体节能操作分别确定各个业务处理装置的节能操作为:将所述业务处理能力的增加量分配到各个业务处理装置中,使所有业务处理装置的业务处理能力增加总量与所述业务处理能力增加量相等。
较佳地,所述确定节能量为:将节能量确定为小于或等于当前业务负荷变化量;
所述确定业务处理能力增加量为:将业务处理能力增加量确定为大于或等于当前业务负荷变化量。
较佳地,在所述根据系统当前总的业务负荷和当前总的业务处理能力确定当前业务负荷变化后,所述根据该当前业务负荷变化确定分布式系统的整体节能操作前,该方法进一步包括:根据历史数据预测下一时间段的业务负荷,并根据预测的下一时间段的业务负荷和系统当前总的业务负荷确定下一时间段的业务负荷变化情况;
所述根据该当前业务负荷变化确定分布式系统的整体节能操作为:根据当前业务负荷变化和所述下一时间段的业务负荷变化确定分布式系统的整体节能操作。
较佳地,进一步根据下一时间段的业务负荷变化确定各个业务处理装置的节能操作为:
若下一时间段的业务负荷加重,进一步预留系统总的业务处理能力保证满足所述下一时间段的业务负荷变化情况。
较佳地,在分别确定各个业务处理装置的节能操作后、并对应下发给各个业务处理装置前,该方法进一步包括:
根据确定的各个业务处理装置的节能操作和当前承载的业务,对业务处理装置进行业务流重定向。
一种分布式系统,包括主控装置和多个业务处理装置,
所述主控装置,根据当前系统总的业务负荷、当前总的业务处理能力以及各个业务处理装置的当前业务处理能力,分别确定各个业务处理装置的节能操作,并将指示各个业务处理装置节能操作的各个指令对应下发给各个业务处理装置;
任一业务处理装置,接收所述主控装置下发的指示节能操作的指令,并执行该指令。
一种分布式系统中的主控装置,包括流量统计模块、流量分析模块和节能控制模块;
所述流量统计模块,用于获取当前系统总的业务负荷,并发送给流量分析模块;
所述流量分析模块,用于保存分布式系统中各个业务处理装置的当前业务处理能力,根据接收的系统当前总的业务负荷和根据保存的各个业务处理装置的当前业务处理能力计算得到的系统当前总的业务处理能力,确定当前业务负荷变化,并根据该当前业务负荷变化和各个业务处理装置的当前业务处理能力,分别确定各个业务处理装置的节能操作,并通知节能控制模块;
所述节能控制模块,根据确定的各个业务处理装置的节能操作,将指示各个业务处理装置节能操作的各个指令对应发送给各个业务处理装置。
较佳地,所述流量统计模块进一步用于根据保存的历史数据预测下一时间段的业务负荷,并根据当前系统总的业务负荷和预测的下一时间段的业务负荷确定下一时间段的业务负荷变化,发送给所述流量分析模块;
所述流量分析模块,进一步根据接收到的预测的下一时间段的业务负荷变化确定各个业务处理装置的节能操作。
较佳地,该主控装置进一步包括负载均衡单元,根据流量分析模块发送的各个业务处理装置对应的节能操作,对业务处理装置的业务流进行重定向,向各个业务处理装置发送重定向指令,并在确定各个业务处理装置完成业务流重定向后通知节能控制模块;
所述节能控制模块,在接收到所述负载均衡模块下发的业务流重定向完成通知后,执行将指示节能操作的指令对应发送给各个业务处理装置的操作。
由上述技术方案可见,本发明中,主控装置根据当前系统总的业务负荷和当前总的业务处理能力,确定设备的负荷变化,并根据该负荷变化情况和各个业务处理装置的当前工作状态,针对各个业务处理装置,确定各自对应的节能策略,并且将确定好的节能策略下发给各个业务处理装置。可见,本发明中针对不同的业务处理装置,可以采用不同的节能策略,在背景技术的例子中,当分布式架构设备的业务流量降低为900Mbps时,可以将其中一个业务处理装置的工作状态保持不变,将另一个业务处理装置的工作频率降低一个等级,从而既保证系统的业务性能要求,又实现了节能。
具体实施方式
为使本发明的目的、技术手段和优点更加清楚明白,以下结合实施例说明本发明的具体实施方式。
本发明的基本思想是:主控装置根据当前系统的负荷变化情况,针对各个业务处理装置,分别确定对应的节能策略,从而在保证系统满足业务性能的前提下,尽最大可能节能。
图1为本发明提供的分布式系统的节能控制方法的总体流程图。如图1所示,该方法包括:
步骤101,主控装置根据当前系统总的业务负荷、当前总的业务处理能力和各个业务处理装置的当前业务处理能力,分别确定各个业务处理装置的节能操作。
步骤102,主控装置将指示各个业务处理装置的节能操作的各个指令对应下发给各个业务处理装置。
这样,业务处理装置可以根据接收到的节能策略执行相应的节能操作,从而在保证系统满足业务性能的前提下,尽最大可能节能。
图2为本发明提供的分布式系统的总体结构图。该系统可以用于实施上述图1所示的方法。如图2所示,该系统包括:主控装置和至少两个业务处理装置。
在该系统中,主控装置,根据当前系统总的业务负荷、当前总的业务处理能力以及各个业务处理装置的当前业务处理能力,分别确定各个业务处理装置的节能操作,并将指示各个业务处理装置节能操作的各个指令对应下发给各个业务处理装置。任一业务处理装置,接收主控装置下发的指示节能操作的指令,并执行该指令。
图3为本发明提供的分布式系统中主控装置的总体结构图,该主控装置可以应用于图2所示的系统中。如图3所示,该主控装置包括:流量统计模块、流量分析模块和节能控制模块。
在该主控装置中,流量统计模块,用于获取当前系统总的业务负荷,并发送给流量分析模块。流量分析模块,用于保存分布式系统中各个业务处理装置的当前业务处理能力,根据接收的系统当前总的业务负荷和根据保存的各个业务处理装置的当前业务处理能力计算得到的总的业务处理能力,确定当前业务负荷变化,并根据该当前业务负荷变化和各个业务处理装置的当前工作状态,分别确定各个业务处理装置的节能操作,并通知节能控制模块。节能控制模块,根据确定的各个业务处理装置的节能操作,将指示各个业务处理装置节能操作的各个指令对应发送给各个业务处理装置。
由上述可见,本发明中的方法、系统和设备能够根据负荷变化情况,指示各个业务处理装置执行不同的节能操作。
通常,规定业务处理装置的工作状态分为四种:正常工作状态(S1)、降频工作状态(S2)、待机状态(S3)和掉电关闭状态(S4),每个业务处理装置可以在这4种状态间进行切换,一般设备不会上电后就进入待机状态或降频状态,因此S4到S2、和S4到S3的切换没有画出。具体工作状态转换图4所示。在该图中,S2即降频工作状态又可以通过不同的降频等级划分为更细的状态。因此,当系统中有较多的业务处理装置时,首先,各业务处理装置工作状态可以独立控制,其次,每个业务处理装置4种工作状态的相互切换,再次,降频状态时降频等级可以进一步划分,这三点相结合,对于整个系统而言,形成了非常丰富而且组合灵活的节能等级,实现了系统的节能等级的精细划分和系统的精细节能。
目前出现了一些分布式架构的网络安全设备,例如防火墙、入侵防护系统(IPS)、入侵检测系统(IDS)等。在这些网络安全设备中包括一个主控单元和多个业务处理单元。其中,主控单元即本发明中的主控装置,业务处理单元即本发明中的业务处理装置。外部业务从主控单元进入上述网络安全设备后,由各个不同的业务处理单元进行相应的处理,例如业务处理单元对进入设备的数据包进行攻击检测,并对检测出的攻击包进行丢弃处理等。在此过程中,当业务处理单元处于不同的工作频率时,其对数据包的处理能力也不同。因此,当进入主控单元的数据包数量较少时,可以降低业务处理单元的工作频率实现节能,当系统中数据包数量较多时,需要提高业务处理单元的工作频率,以满足业务要求。
实施例:
图5为本发明实施例中分布式系统的节能控制方法具体流程图。在本实施例中,以在上述具有分布式结构的网络安全设备中进行节能控制为例,说明具体的节能控制方法。具体地,如图5所示,该方法包括:
步骤501,主控单元获取系统当前总的业务负荷。
本步骤中,主控单元获取系统业务负荷的方式可以为:对一段时间内进入主控单元的业务流量进行统计,将该业务流量作为业务负荷。其中,业务流量可以是单位时间内进入系统的数据包的数量等。这里,进行统计的时间可以根据需要自行设置,例如,一个小时。
步骤502,根据获取的当前设备总的业务负荷和当前总的业务处理能力,确定设备的业务负荷变化。
本步骤中,对网络安全设备中各个业务处理单元的当前业务处理能力求和,即可以得到当前总的业务处理能力,例如,假定设备中包括3个业务处理单元,当前业务处理能力分别为500Mbps、500Mbps和400Mbps,那么当前该设备总的业务处理能力为1400Mbps。
确定设备的负荷变化的方式可以为:将当前总的业务负荷与总的业务处理能力之差作为业务负荷变化。当然,也可以采用其它的方式确定。
步骤503,分析步骤502中确定的业务负荷变化和各个业务处理单元的当前工作状态,分别确定各个业务处理单元的节能操作。
本步骤中,根据业务负荷和业务处理单元的当前工作状态确定网络安全设备的节能策略。具体地,首先需要根据业务负荷变化,确定整个网络安全设备的节能操作;然后根据各个业务处理单元的当前工作状态,将整个网络安全设备的节能操作分摊在各个业务处理单元上,确定各个业务处理单元的节能操作。本文中的节能操作不仅指提高节能等级,还包括改变节能等级和改变工作状态的操作。
若设备的业务负荷降低、允许节能,则确定需要对设备进行节能处理,并确定具体可以接受的节能量。然后,确定各个业务处理单元的节能操作。在确定各个业务处理单元节能操作时,具体方式可以为:尽量将业务处理集中于一个或几个业务处理单元上,使这一个或几个业务处理单元的业务处理能力增加,提高其它业务处理单元的节能等级;或者,也可以平衡业务处理单元间的处理能力,尽量使更多的设备提高节能等级。
若设备的业务负荷增大、需要提高设备的业务处理能力,则确定需要降低设备的节能等级。然后,确定不同的业务处理单元操作。在确定各个业务处理单元节能操作时,具体方式可以为:尽量将提高业务处理能力集中在一个或几个业务处理单元上,使这一个或几个业务处理单元的业务处理能力增加,保持其它业务处理单元的节能等级;或者,也可以平衡业务处理单元间的处理能力,尽量使更多的设备降低节能等级,并且各个业务处理单元在降低节能等级时,节能等级的变化量较小。
若设备的业务负荷不变,则确定保持当前的节能状态。
例如,业务处理单元A、B、C的实际处理能力均为500Mbps,当前处理能力分别为300Mbps、200Mbps和500Mbps,节能等级变化一级,处理能力变化100Mbps。假定当前总的业务负荷只有600Mbps,而所有三个业务处理单元的总的业务处理能力(即设备总的业务处理能力)为300+200+500=1000Mbps,由于总的业务处理能力大于当前总的业务负荷,因此可以确定整个设备允许节能,具体地,若确定满足当前的业务负荷即可,则确定的节能量为当前总的业务处理能力与当前总的业务负荷之差,即1000-600=400Mbps。基于上述节能量,具体节能处理可以为:将业务处理单元A的节能等级提高两级,使其业务处理能力变为100Mbps,将业务处理单元B置于待机或掉电状态,即业务处理能力为0,将业务处理单元C保持当前的工作状态,即业务处理能力为500Mbps。这样,设备当前总的业务处理能力即为100+0+500=600Mbps,就可以既满足当前系统业务需求,又尽可能地节能。如果当前业务负荷升高为1200Mbps,而如前所述,当前总的业务处理能力为1000Mbps,可以确定需要降低节能等级,使业务处理能力增加200Mbps,具体地,节能处理可以为:将业务处理单元A的节能等级降低两级,使其业务处理能力变为500Mbps,将业务处理单元B和C的工作状态保持不变。这样,设备当前总的业务处理能力即为500+200+500=1200Mbps,也可以既满足当前系统业务需求,又尽可能地节能。
步骤504,按照步骤503确定的各个业务处理单元的节能操作,向各个业务处理单元下发指示节能操作的指令,各个业务处理单元执行相应的节能操作。
本步骤中,主控单元分别向各个业务处理单元下发指示节能操作的指令,业务处理单元接收到相应的指令后执行指定的节能操作。这里,由于各个业务处理单元的工作状态独立可控,因此对于四种工作状态间的转换以及不同节能等级间的切换均可以自行完成。具体完成该操作的过程并不是本发明关注的内容,这里就不做进一步详细描述。
至此,本实施例中的方法流程结束。
在上述方法流程中,步骤503中确定业务负荷变化情况时,是根据系统的业务负荷变化情况来进行的,而该业务负荷变化情况是根据系统当前的业务负荷和当前业务处理能力确定的,这样,能够对当前的业务负荷变化进行实时反映,但是并没有考虑下一段时间的负荷变化情况。这时,如果下一时间段负荷增加,那么可能由于当前的节能措施造成下一时间段内设备丢包。基于此,优选地,本实施例中可以在步骤503前进一步包括:根据历史数据预测下一时间段的业务负荷,并根据该下一时间段的业务负荷和当前的业务负荷确定下一时间段的业务负荷变化情况,然后在步骤503中根据下一时间段的业务负荷变化情况、当前的业务负荷变化情况以及各个业务处理单元的当前工作状态确定业务负荷变化情况。
具体地,根据历史数据预测下一时间段的业务负荷的方法可以为:参考历史上该时间段内通常的业务负荷,将其作为下一时间段的业务负荷。
主控单元可以将之前获取的业务负荷保存,并按照时间段进行分类,然后对一个较长时间内的相应时间段中业务负荷进行统计平均,获得该相应时间段内的平均业务负荷作为历史数据。例如,将时间段分为白天和夜间,保存一个月中所有白天统计的业务负荷,对其进行统计平均,获得白天的平均业务负荷,将其作为对应白天业务负荷的历史数据,同理,可以获得对应夜间业务负荷的历史数据。当然上述只是一种示例性的历史数据获取方式,还可以采用其它的方法确定历史数据,以进行预测。
根据下一时间段的业务负荷和当前业务负荷确定下一时间段业务负荷变化情况的具体方式可以为:比较预测得到的下一时间段的业务负荷与当前业务负荷,若前者大于后者,则确定下一时间段业务负荷可能增加,若前者小于后者,确定下一时间段业务负荷可能减少,若二者相等,确定下一时间段业务负荷不变。
在接下来确定整个设备对应的节能操作时,进一步根据下一时间段的业务负荷变化情况进行确定。若下一时间段的业务负荷可能增加,则在确定设备节能操作时,预留一些业务处理能力保证应对下一时间段可能增加的业务负荷;若下一时间段的业务负荷可能减少或保持不变时,则在确定设备节能操作时,可以在满足当前业务负荷的情况下,尽可能地节能。
通过上述方式对下一时间段的业务负荷和业务负荷变化情况进行预测后,并根据该预测结果确定节能操作后,就能够获得更加合理的节能结果,保证在后续时间内的系统性能,不会因为突发流量而造成丢包。
另外,为有效保证节能操作对现有业务不会造成影响,优选地,在上述方法流程的步骤504前还可以进一步包括:根据确定的各个业务处理单元的节能操作和当前处理的业务状况,对业务流进行重定向。在完成业务流重定向后,再对各个业务处理单元进行相应的节能操作。
例如,假定确定的业务处理单元的节能操作为:将业务处理集中于一个或几个业务处理单元上,而使其它业务处理单元关闭或进入待机状态,这时对于关闭或进入待机状态的业务处理单元上正在处理的业务需要转移到后续用于集中处理业务的所述一个或几个业务处理单元上,从而保证用户的业务不会由于节能操作而被中断。通过业务流重定向即可以完成业务转移的过程。
上述即为本实施例中节能控制方法的具体实施方式。本实施例还提供了一种可以节能的分布式系统,其系统结构如图2所示。在下面的描述中,以在网络安全设备中实现该节能的分布式系统为例说明系统中的具体构成。在网络安全设备中,主控单元即为图2所示的主控装置,业务处理单元即为图2所示的业务处理装置。主控单元的具体结构如图6所示,该主控单元的结构,为图3所示主控装置的一种具体实施方式,包括流量统计模块、流量分析模块、负载均衡模块和节能控制模块。
在该主控装置中,流量统计模块,用于获取并保存当前系统总的业务负荷,并发送给流量分析模块;根据保存的历史数据预测下一时间段的业务负荷,并根据当前系统总的业务负荷和预测的下一时间段的业务负荷确定下一时间段的业务负荷变化,发送给流量分析模块。
流量分析模块,用于保存分布式系统中各个业务处理装置的当前工作状态,根据接收的系统当前总的业务负荷和保存的系统当前总的业务处理能力,确定当前业务负荷变化情况;又根据确定的当前业务负荷变化情况、接收到的下一时间段的业务负荷变化情况和各个业务处理装置的当前工作状态,分别确定各个业务处理装置的节能操作,并通知节能控制模块和负载均衡模块。
负载均衡模块,根据接收的各个业务处理装置的节能操作向各个业务处理单元发送业务流重定向指令,并在完成该业务流重定向后通知节能控制模块。
节能控制模块,在接收到负载均衡模块下发的业务流重定向完成通知后,根据确定的各个业务处理装置的节能操作,将指示各个业务处理装置各个节能操作的各个指令对应发送给各个业务处理装置。
当然,上述主控单元的结构只是其中的一种实施方式,在该结构的基础上,还可以根据应用的需要加入其它功能模块。
上述即为本发明的具体实施方式。下面通过一个具体的示例说明整个节能控制过程。
假设系统由一个主控/接口单元和两个业务处理单元构成,系统业务流都由主控/接口单元进入系统,然后由主控/接口单元分发给个业务处理单元。
每个业务处理单元正常状态(S1)下处理能力为500Mbps,则系统总的业务处理能力为1Gbps,每个节能等级对应50Mbps的业务处理能力。
目前的工作时间为晚上。假设目前两个业务处理单元都处于S1,即正常工作状态。根据目前统计结果,系统业务流为400Mbps,平均分配给两个单元处理,各为200Mbps,每个业务处理单元的处理能力仅使用40%。流量统计单元统计得到该数据后,结合历史数据判断下个时间段不会有大突发流量,然后将结果上报给流量分析模块。
流量分析模块分析当前的总的业务负荷和下一时间段的业务负荷变化情况后得出结论,目前的400Mbps流量由一个业务单元处理完全足够,考虑到下个时间段不会有大突发流量,处理能力余量可以保持较小一些,因此可以把工作的业务处理单元1的处理器工作频率降低一个等级,使其处理能力保持在450Mbps,仅保持50Mbps余量;业务处理单元2可以关闭,然后将确定的两个业务处理单元的节能操作上报负载均衡模块和节能控制模块。
负载均衡模块收到上述结果后,首先把到业务处理单元2的200Mbps的业务流量重新定向送给业务处理单元1,保证业务的无损切换,完成后上报节能控制模块。
节能控制模块收到消息后,认为业务流切换已经完成,业务处理单元2已经没有业务流量,则可以掉电关闭,同时发布指令,使业务处理单元1的处理器频率降低一个等级。
一次节能的过程就完成了。
如果在流量分析的时候认为后续可能会有较大的突发流量,这时为了保证系统能够尽快的回复到工作状态,则流量分析模块确定业务处理单元1不降频,保持现有500Mbps的处理能力,留出100Mbps作为应对突发流量余量,同时业务处理单元2不掉电,仅仅进入待机状态,保证突发流量大时能较快的恢复到工作状态。并将该节能操作指示下发给节能控制模块,节能控制模块指令相应的业务处理单元执行相应的节能操作。
由上述本发明的具体实施方式和具体示例可以看出,应用本发明后,能够通过对分布式系统中多个业务处理装置进行分布式独立控制,对其工作状态进行划分,从而实现了系统节能等级的精细划分,以保证在满足业务要求的前提下,最大限度的节省系统能耗。
在上述实施方式中,均是以在网络安全设备中应用本发明为例进行说明的,具体该网络安全设备可以是防火墙、IPS、IDS等。事实上,对于其它的分布式系统,本发明也同样适用。例如,在大型数据中心内,负责进行内容搜索的设备中通常包括一个主控单元和多个并行进行具体搜索操作的业务处理单元,在该内容搜索设备中也可以利用本发明的方法实现该设备的精细节能。另外,在应用负载均衡或安全套接层(SSL)的分布式系统中,其中的负载均衡设备或SSL设备可以利用本发明中主控装置的方式来实现,从而实现该负载均衡设备或SSL设备所在分布式系统的精细节能。另外,上述本发明的方法、系统和主控装置还可以应用于具有分布式结构的L4~L7的网络设备中。
以上仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。