专利名称:一种用于云计算系统的负载均衡方法
技术领域:
本发明一般地涉及计算机技术领域,更具体地来说,涉及加密卡负载均衡的实现方法。
背景技术:
随着网络技术的不断发展,云计算越来越成为当今世界的热点,然而,云环境下的数据加密问题成为云计算中众多问题的重中之中。本文提出了一种云环境下基于刀片服务器的网络加密机系统,把数据加密的操作全部放到加密卡内来进行,进一步加强数据的安全性。加密卡速度快,利用密钥加密方式进行工作,所以解密时需要本加密卡进行解密,如果利用其它加密卡进行解密,则需要本加密卡与其它加密卡之间的密钥就交换,因此,加密卡的安全性非常高。然而,随着云计算系统的发展,在数据流量越来越大的同时,越来越多的数据流量需要进行加密保护,在需要时将加密保护的数据流量进行解码,然后传送给用户或者云计算中心。但是,单个加密卡的计算速度很难满足大量数据流量的请求,因此提出将多个加密卡并行连接来解决单个加密卡计算速度问题。然而,在云计算系统中,通过多个加密卡进行加密和/解密计算期间,多个加密卡的数据流量通常是随机分配的,会导致负载不均衡,即,某些加密卡会处于超载状态,而其他加密卡处于轻载状态或者无负载状态,因此,会对整个云计算系统速度产生不利影响,从而造成系统资源的浪费。
发明内容
针对现有技术中的负载不均衡,会对整个云计算系统的速度产生不利影响,从而造成系统资源浪费的缺陷,本发明提出了能够解决上述缺陷的负载均衡方法。根据本发明的一方面,本发明提供了一种负载均衡方法,包括监测加密卡,以获取加密卡的数据流量;将数据流量与数据流量阈值进行比较;以及当数据流量超出数据流量阈值时,判定加密卡处于超载状态,并且将超出数据流量阈值的超载数据流量转移给未处于超载状态的加密卡,以进行数据处理。优选地,处于超载状态的加密卡和未处于超载状态的加密卡与相同次级服务器连接,或者处于超载状态的加密卡和未处于超载状态的加密卡与不同次级服务器连接。优选地,当处于超载状态的加密卡和未处于超载状态的加密卡与相同次级服务器连接时,局部负载均衡装置执行加密卡之间的超载数据流量转移。优选地,超载数据流量通过PCIE总线进行转移。优选地,当处于超载状态的加密卡和未处于超载状态的加密卡与不同的次级服务器连接时,全局负载均衡装置执行加密卡之间的超载数据流量转移。优选地,负载均衡方法进一步包括在数据处理完成以后,将经过处理的超载数据流量转移回处于超载状态的加密卡。
优选地,超载数据流量通过光纤、电缆或双绞线进行转移。优选地,局部负载均衡装置位于次级服务器中,全局负载均衡装置位于不同次级服务器共同连接的主服务器中。优选地,将超出数据流量阈值的超载数据流量转移给未处于超载状态的加密卡包括将未处于超载状态的加密卡的数据流量进行比较;根据数据流量从小到大的顺序,顺序地向未处于超载状态的加密卡分配超载数据流量,直至超载数据流量都被分配完;以及将要转移的超载数据流量的剩余数据流量转移至其他次级服务器。优选地,数据处理是对超载数据流量进行加密和/或解密。利用本发明的负载均衡方法,在云计算系统中,在通过多个加密卡进行加密和/或解密计算期间,将超载数据流量转移给未处于超载状态的加密卡来均衡多个加密卡之间的数据流量,从而大幅提高了整个云计算系统的速度,提高了加密卡的利用率,适当设置加密卡的数量,能够充分利用系统资源,因此降低了整个云计算系统的成本。本发明的其它特征和优点将在随后的说明书中阐述,并且,部分地从说明书中变得显而易见,或者通过实施本发明而了解。本发明的目的和其他优点可通过在所写的说明书、权利要求书、以及附图
中所特别指出的结构来实现和获得。
以下结合附图对本发明的优选实施例进行说明,应当理解,此处所描述的优选实施例仅用于说明和解释本发明,并不用于限定本发明。在附图中图I是根据本发明的实施例的多加密卡系统的实例;图2是根据本发明的实施例的负载均衡方法的整体流程图;图3是根据本发明的实施例的负载均衡方法的具体流程图;以及图4是根据本发明的实施例的两级负载均衡模型的结构图。
具体实施例方式以下结合附图对本发明的优选实施例进行说明,应当理解,此处所描述的优选实施例仅用于说明和解释本发明,并不用于限定本发明。图I是根据本发明的实施例的多加密卡系统的实例。由主服务器控制次级服务器,次级服务器的主板高速PCIe总线与多个加密卡连接,加密卡通过交换机与客户端连接。具体地,通过多加密卡系统在由高速PCIe总线连接起来的各个加密卡间平衡系统负载(下文中,也称为数据流量)来提高多加密卡系统的性能。主服务器和次级服务器之间通过高速光纤连接,加密卡之间通过PCIe总线连接。静态负载平衡易于实现。但是这种策略不考虑系统中各个节点(也称为服务器)的具体负载情况而进行负载的划分和分配,使得系统性能较差。所以动态负载平衡根据系统中各个节点的负载状态动态地做出负载的划分和分配,相对于静态负载平衡来说能更好地提高系统的资源利用率。下文中将对动态负载平衡方法进行详细描述。图2是根据本发明的实施例的负载均衡方法的整体流程图。参照图2,通过以下步骤来描述负载均衡方法200。在步骤202中,监测加密卡,以获取加密卡的数据流量。在步骤204中,将数据流量与数据流量阈值进行比较。具体地,数据流量阈值是加密卡能够即时进行加密和/或解密的最大数据流量。在步骤206中,当数据流量超出数据流量阈值时,判定加密卡处于超载状态,并且将超出数据流量阈值的超载数据流量转移给未处于超载状态的加密卡,以进行数据处理。其中,未处于超载状态的加密卡包括没有数据流量的加密卡和数据流量小于数据流量阈值的加密卡,即,包括无负载加密卡和欠载加密卡。具体地,当数据流量大于数据流量阈值时,通过该加密卡进行加密和/解密的数据流量就不能及时进行处理,需要等待,如果超载数据流量太大,则会大幅增加等待时间,会拖慢了整个云存储系统的速度。所以将超载数据流量转移给未处于超载状态的加密卡,从而通过未处于超载状态的加密卡对转移来的超载数据流量进行处理。利用本发明的实施例的负载平衡方法,可以将超载加密卡的超载数据流量转移至欠载加密卡或无负载加密卡,通过欠载加密卡或无负载加密卡进行数据处理,不仅避免或减少了等待时间,提高了加密卡的数据处理速度,而且提高了无负载和欠载加密卡的利用率,从而实现了资源有效共享,提高了多加密卡系统的资源利用率。图3是根据本发明的实施例的负载均衡方法的具体流程图。参照图3,通过以下步骤详细描述负载平衡方法300。在步骤302中,监测加密卡,以获取加密卡的数据流量。在步骤304中,将数据流量与数据流量阈值进行比较。在步骤306中,当数据流量超出数据流量阈值时,判定加密卡处于超载状态。在步骤308中,将未处于超载状态的加密卡的数据流量进行比较。具体地,将作为超载数据流量的转移目标的加密卡的数据流量进行比较,其中,目标加密卡为无负载加密卡和欠载加密卡。在步骤310中,根据数据流量从小到大的顺序,顺序地向未处于超载状态的加密卡分配超载数据流量,直至超载数据流量都被分配完。具体地,根据在步骤308中的比较结果,通过数据流量从小到大的顺序对目标加密卡进行排序,从而确定向目标加密卡转移超载数据流量的顺序。其中,首先将超载数据流量转移至数据流量最小的加密卡,将剩余的超载数据流量转移至数据流量第二最小的加密卡,依次类推,直到所有的超载数据流量都被转移至未处于超载状态的加密卡。负载平衡方法300还可以包括其他步骤,例如,目标加密卡对超载数据流量进行数据处理;在数据处理完成以后,将经过处理的超载数据流量转移回处于超载状态的加密卡或将处理完的数据流量通过次级服务器传送至主服务器或者通过交换机传送至客户端。具体地,数据处理是对所述超载数据流量进行加密和/或解密。在优选实施例中,处于超载状态的加密卡和未处于超载状态的加密卡与相同次级服务器连接,或者处于超载状态的加密卡和未处于超载状态的加密卡与不同次级服务器连接。一个次级服务器(也称为刀片节点或网段)往往对应一个公司或者一个部门的应用请求,不同公司或者部门申请的服务对应不同的节点。从一个网段发送的数据如果转移到别的网段加密卡内进行加密和解密的话,是不能从别的网段发送出去的,因为考虑到安全性,默认的是各个网段是物理隔离的,因此,当在别的网段加密和解密完成后必须转发回来,这就会造成资源的浪费。所以在一个网段内的任务尽量在一个网段内解决,以此来节约资源。所以有必要在一个网段内维护一个小型的资源池(也称为多个加密卡数据流量的信息列表,其中,记录了与同一次级服务器连接的多个加密卡的数据流量的实时信息),以此为基础来实现一个局部的动态负载平衡策略。局部动态负载平衡是为了解决本网段内局部的负载不均衡情况下而设计的,但是局部的负载平衡不代表在全局范围内负载的平衡。例如突发的网络数据袭击一个网段的时候,本网段的数据就会瞬间变大,而别的网段则空闲,如果不在全局范围内实现一个全局的负载平衡的话,就会造成全局范围内的负载不平衡,使单个的请求得不到响应,而全局的资源被浪费掉。基于以上两方面的原因,在全局范围内维护全局动态负载平衡则很有必要。第一个资源池为主服务器资源池(也称为主控制节点资源池),第二个为各个网段内资源池。第一级资源池向全局动态负载均衡模块提供信息,第二级资源池向本网段内的局部动态负载平衡模块提供信息。具体地,主服务器资源池也称为与不同次级服务器连接的多个加密卡数据流量的信息列表,其中,记录了与不同次级服务器连接的多个加密卡的数据流量的实时信息)。图4是根据本发明的实施例的两级负载均衡模型的结构图。参照图4,局部负载均衡装置位于次级服务器中,全局负载均衡装置位于不同次级服务器共同连接的主服务器中。两级负载平衡模型包括全局资源池和局部资源池,负载平衡实现所需要的数据流量信息(或负载信息)以及节点状态的信息都是由两级资源池来提供。一般情况下,全局资源池都是在一个主服务器上实现,而局部资源池都是在多个次级服务器上实现。主服务器主要完成全局范围内的资源调度,而局部范围内的资源信息在每个具体的节点上都有维护,以方便各个次级服务器调度自己的资源和负载状况。当处于超载状态的加密卡和未处于超载状态的加密卡与相同次级服务器连接时,局部负载均衡装置执行加密卡之间的超载数据流量转移。超载数据流量通过PCIE总线进行转移。具体地,如图I所示,即,每个次级服务器(节点)可以都可以与一个或多个加密卡连接,其中,可以根据数据流量的需求来确定加密卡的数量。当与同一个次级服务器连接的加密卡包括处于超载状态的加密卡和处于未超载状态的加密卡时,可以优先通过局部负载均衡装置执行与同一次级服务器连接的多个加密卡(可以被称为一组加密卡)之间的超载数据流量转移。这组加密卡通过PCIE总线连接,因此在这组加密卡之间进行数据流量转移的速度非常快,从而提高了局部负载均衡装置执行负载均衡的速度和效率。当处于超载状态的加密卡和未处于超载状态的加密卡与不同的次级服务器连接时,全局负载均衡装置执行加密卡之间的超载数据流量转移。超载数据流量通过光纤、电缆或双绞线进行转移。具体地,如图I所示,即,每个次级服务器(节点)可以都可以与多个加密卡连接。如果与同一个次级服务器连接的多个加密卡仅包括处于超载状态的加密卡(也可以被称为第一组加密卡),而与另一个次级服务器连接的多个加密卡包括处于未超载状态的加密卡(也可以被称为第二组加密卡),则可以通过全局负载均衡装置执行与不同次级服务器连接的多个加密卡(即,第一组加密卡和第二组加密卡)之间的超载流量转移。次级服务器之间通过光纤、电缆或双绞线连接,所以在全部复制均衡装置通过光纤、电缆或双绞线在次级服务器之间转移超载数据流量。优选地,超载数据流量通过光纤进行转移。具体地,单个网段内动态负载平衡是基于局部资源列表的次级服务器自治式动态负载平衡,在加密卡上实现,各结点维护本地局部资源列表,即,只收集本网段内的结点负载状态信息。在负载被处理过程中根据节点状态的变化动态的调节系统的负载平衡状态,如果当前结点超载,就将目前正在处理的负载优先地局部转移到负载最轻的节点继续处理。局部负载平衡的局部负载平衡转移策略。
全局动态负载平衡的流程涉及主节点、本地节点和目标节点。在具体的实现过程中还要涉及到密钥信息的转移,因为在实际应用中,公司的一个部门往往用的是一个网段,而不同网段内的密钥信息是不同的,各个网段都有自己的密钥信息。不但密钥信息不同,在源节点把负载信息发送给目标节点之前,一定要和目标节点进行会话,因为在主节点做转移决策前,很有可能网络数据已经到达目标节点,这时候如果再把相应的负载发给目标节点的话,就会使得目标节点超载,同时还造成系统资源的浪费。利用本发明的负载均衡方法,通过多个加密卡进行加密和/或解密计算期间,将超载数据流量转移给未处于超载状态的加密卡来均衡多个加密卡之间的数据流量,相应地提高了加密卡的利用率;通过局部负载平衡装置执行与相同次级服务器连接多个加密卡的数据流量的局部负载平衡,提高加密卡的数据处理速度,进而提高了资源利用率;通过全部负载均衡装置执行与不同次级服务器连接的多个加密卡的数据流量的全部负载平衡,提高了云存储系统中的加密卡的速度,进而提高了资源利用率;以及适当设置加密卡的数量,避免的不必要的资源浪费,充分利用系统资源,因此降低了整个云计算系统的成本。本发明的其它特征和优点将在随后的说明书中阐述,并且,部分地从说明书中变得显而易见,或者通过实施本发明而了解。本发明的目的和其他优点可通过在所写的说明书、权利要求书、以及附图中所特别指出的结构来实现和获得。
权利要求
1.一种负载均衡方法,其特征在于,包括 监测加密卡,以获取所述加密卡的数据流量; 将所述数据流量与数据流量阈值进行比较;以及 当所述数据流量超出所述数据流量阈值时,判定所述加密卡处于超载状态,并且将超出所述数据流量阈值的超载数据流量转移给未处于所述超载状态的所述加密卡,以进行数据处理。
2.根据权利要求I所述的负载均衡方法,其特征在于,处于超载状态的所述加密卡和未处于超载状态的所述加密卡与相同次级服务器连接,或者处于超载状态的所述加密卡和未处于超载状态的所述加密卡与不同次级服务器连接。
3.根据权利要求2所述的负载均衡方法,其特征在于,当处于超载状态的所述加密卡和未处于超载状态的所述加密卡与相同次级服务器连接时,局部负载均衡装置执行所述加密卡之间的超载数据流量转移。
4.根据权利要求3所述的负载均衡方法,其特征在于,所述超载数据流量通过PCIE总线进行转移。
5.根据权利要求2所述的负载均衡方法,其特征在于,当处于超载状态的所述加密卡和未处于超载状态的所述加密卡与不同的次级服务器连接时,全局负载均衡装置执行所述加密卡之间的超载数据流量转移。
6.根据权利要求5所述的负载均衡方法,其特征在于,进一步包括在所述数据处理完成以后,将经过处理的所述超载数据流量转移回处于超载状态的所述加密卡。
7.根据权利要求6所述的负载均衡方法,其特征在于,所述超载数据流量通过光纤、电缆或双绞线进行转移。
8.根据权利要求2或5所述的负载均衡方法,其特征在于,所述局部负载均衡装置位于所述次级服务器中,所述全局负载均衡装置位于所述不同次级服务器共同连接的主服务器中。
9.根据权利要求I所述的负载均衡方法,其特征在于,将超出所述数据流量阈值的超载数据流量转移给未处于所述超载状态的所述加密卡包括 将未处于超载状态的所述加密卡的数据流量进行比较; 根据所述数据流量从小到大的顺序,顺序地向未处于超载状态的所述加密卡分配超载数据流量,直至所述超载数据流量都被分配完;以及 将要转移的超载数据流量的剩余数据流量转移至其他次级服务器。
10.根据权利要求I所述的负载均衡方法,其特征在于,所述数据处理是对所述超载数据流量进行加密和/或解密。
全文摘要
本发明提供了一种负载均衡方法,包括监测加密卡,以获取加密卡的数据流量;将数据流量与数据流量阈值进行比较;以及当数据流量超出数据流量阈值时,判定加密卡处于超载状态,并且将超出数据流量阈值的超载数据流量转移给未处于超载状态的加密卡,以进行数据处理。在云计算系统中,将超载数据流量转移给未处于超载状态的加密卡来均衡多个加密卡之间的数据流量,从而大幅提高了整个云计算系统的速度,提高了加密卡的利用率,适当设置加密卡的数量,能够充分利用系统资源,因此降低了整个云计算系统的成本。
文档编号H04L12/803GK102984080SQ201210590508
公开日2013年3月20日 申请日期2012年12月31日 优先权日2012年12月31日
发明者王健杰, 孙国忠, 孙征 申请人:无锡城市云计算中心有限公司