服务器系统的负载均衡方法及装置制造方法

文档序号:7997023阅读:188来源:国知局
服务器系统的负载均衡方法及装置制造方法
【专利摘要】本发明适用于通信证劵【技术领域】,提供了一种服务器系统的负载均衡方法及服务器系统,所述服务器系统包括:多个服务器,所述方法包括:第一服务器向所述服务器系统的其他服务器广播所述第一服务器的信息,所述第一服务器依据所述其他服务器的信息计算得到所述其他服务器的权重值,所述第一服务器接收到待处理请求时,提取缓存中所述第一服务器的权重值和所述其他服务器的权重值,依据所述第一服务器的权重值和所述其他服务器的权重值查找出所述服务器系统中的最优服务器;将所述待处理请求发送给该最优服务器。本发明提供的技术方案具有负载均衡效果好的优点。
【专利说明】服务器系统的负载均衡方法及装置
【技术领域】
[0001]本发明属于通信及证券领域,尤其涉及一种服务器系统的负载均衡方法及装置。【背景技术】
[0002]当前,服务器的应用程序的各个核心部分随着业务量的提高,利记体育以及数据量快速增长,其相应的处理能力和计算强度也会相应增大。而对于单一的硬件系统,因其处理能力一定,那么性能会随着负载的加剧而呈线性下降的状态。为了克服这一缺点,通常采用多台服务器协调工作,提高服务器的处理能力,以此满足业务量增长需求。而如何在多台服务器中间共同协商完成业务请求,使之不会出现其中部分服务器过忙而其他服务器没有充分发挥能力的情况,这就需要采用服务器系统的负载均衡的方法;负载均衡,顾名思义就是将负载(工作任务)进行平衡、均摊到多个操作单元(即服务器)上进行执行,从而共同完成工作任务。它有两层含义,第一是将单个负载请求的处理分摊到多个操作单元上并行处理,之后将结果汇总,再返回给用户;第二是将大量的并发请求分摊到多个操作单元上分别处理。
[0003]通常的负载均衡方法有:URL (英文:Uniform Resource Locator,统一资源定位符)重定向,DNS (英文:Domain Name System,域名系统)等静态均衡方法,这类方法的特点是简单易用,但不能够按照服务器的处理能力分配负载,没有容错功能;所以通常的负载均衡方法的负载平衡效果差。

【发明内容】

[0004]本发明实施例的目的在于提供一种服务器系统的负载均衡方法,旨在解决通过现有技术的负载均衡方法的负载平衡效果差的问题。
[0005]本发明实施例是这样实现的,一种服务器系统的负载均衡方法,所述服务器系统包括:多个服务器,所述方法包括:
[0006]第一服务器向所述服务器系统的其他服务器广播所述第一服务器的信息,第一服务器接收所述其他服务器发送的其他服务器的信息;
[0007]所述第一服务器依据所述其他服务器的信息计算得到所述其他服务器的权重值,依据所述第一服务器的信息计算出所述第一服务器的权重值,并将所述其他服务器的权重值和所述第一服务器的权重值存储在缓存;
[0008]所述第一服务器接收到待处理请求时,提取缓存中所述第一服务器的权重值和所述其他服务器的权重值,依据所述第一服务器的权重值和所述其他服务器的权重值查找出所述服务器系统中的最优服务器;
[0009]将所述待处理请求发送给该最优服务器;
[0010]所述最优服务器接收到所述待处理请求后,所述最优服务器判断其负载是否大于负载阈值,如负载小于负载阈值,则处理所述待处理请求,如负载大于或等于负载阈值时,则将所述待处理请求发送给剩余服务器中的一个服务器处理,所述剩余服务器为:服务器系统内除了所述第一服务器和所述最优服务器之外的服务器。
[0011]可选的,所述方法在将该待处理请求发送给剩余服务器处理之后,还包括:
[0012]所述最优服务器在服务器系统内广播提高负载阈值的消息以使服务器系统内的服务器提高负载阈值。
[0013]可选的,所述方法在处理该待处理请求之后还包括:
[0014]所述最优服务器获取缓存中存储的所有权重值中比负载阈值小的权重值的个数与所有权重值个数的比值,如该比值大于比值阈值,则在服务器系统内广播降低负载阈值的消息以使服务器系统内的服务器降低负载阈值。
[0015]可选的,所述待处理请求还包括:减数器,所述减数器用于每当待处理请求转发一次,减数器的值减I;当服务器接收到所述待处理请求后,查看所述待处理请求的减数器的值,如所述减数器的值小于设定数字阈值,则服务器直接处理所述待处理请求。
[0016]本发明【具体实施方式】还提供一种服务器系统,所述服务器系统包括:多个服务器;
[0017]第一服务器,用于向所述服务器系统的其他服务器广播所述第一服务器的信息,第一服务器接收所述其他服务器发送的其他服务器的信息;
[0018]所述第一服务器,用于依据所述其他服务器的信息计算得到所述其他服务器的权重值,依据所述第一服务器的信息计算出所述第一服务器的权重值,并将所述其他服务器的权重值和所述第一服务器的权重值存储在缓存;
[0019]所述第一服务器,用于接收到待处理请求时,提取缓存中所述第一服务器的权重值和所述其他服务器的权重值,依据所述第一服务器的权重值和所述其他服务器的权重值查找出所述服务器系统中的最优服务器;
[0020]所述第一服务器,用于将所述待处理请求发送给该最优服务器;
[0021]所述最优服务器,用于接收到所述待处理请求后,判断其负载是否大于负载阈值,如负载小于负载阈值,则处理所述待处理请求,如负载大于或等于负载阈值时,则将所述待处理请求发送给剩余服务器中的一个服务器处理,所述剩余服务器为:服务器系统内除了所述第一服务器和所述最优服务器之外的服务器。
[0022]可选的,所述最优服务器还用于在服务器系统内广播提高负载阈值的消息以使服务器系统内的服务器提高负载阈值。
[0023]可选的,所述最优服务器,还用于获取缓存中存储的所有权重值中比负载阈值小的权重值的个数与所有权重值个数的比值,如该比值大于比值阈值,则在服务器系统内广播降低负载阈值的消息以使服务器系统内的服务器降低负载阈值。
[0024]可选的,所述待处理请求还包括:减数器,所述减数器用于每当待处理请求转发一次,减数器的值减I ;当服务器接收到所述待处理请求后,查看所述待处理请求的减数器的值,如所述减数器的值小于设定数字阈值,则服务器直接处理所述待处理请求。
[0025]本发明实施例与现有技术相比,有益效果在于:本发明的技术方案具有负载平衡效果好的优点。
【专利附图】

【附图说明】
[0026]图1是本发明实施例提供的一种服务器系统的负载均衡方法的流程图。【具体实施方式】
[0027]为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
[0028]本发明【具体实施方式】提供一种服务器系统的负载均衡方法,其中,该服务器系统包括:多个服务器,该方法如图1所示,包括:
[0029]S11、第一服务器向该服务器系统的其他服务器广播所述第一服务器的信息,第一服务器接收其他服务器发送的其他服务器的信息;
[0030]S12、第一服务器依据该其他服务器的信息计算得到其他服务器的权重值,依据所述第一服务器的信息计算出第一服务器的权重值,并将其他服务器的权重值和第一服务器的权重值存储在缓存;
[0031]S13、第一服务器接收到待处理请求时,提取缓存中第一服务器的权重值和其他服务器的权重值,依据所述第一服务器的权重值和其他服务器的权重值查找出该服务器系统中的最优服务器;
[0032]S14、将该处理请求发送给该最优服务器;
[0033]S15、最优服务器接收到该待处理请求后,最优服务器判断其负载是否大于负载阈值,如负载小于负载阈值,则处理该待处理请求,如负载大于或等于负载阈值时,则将该待处理请求发送给剩余服务器中的一个服务器处理,该剩余服务器为:服务器系统内除了第一服务器和最优服务器之外的服务器。
[0034]本发明【具体实施方式】提供的方法可以动态的计算权重值,这样能够从服务器系统中选择出最优服务器来处理该待处理请求,这样能动态的平衡服务器系统的负载,并且本方法还设定了负载阈值,当实际情况发生变化时(一般为在短时间,最优服务器接收到很多的处理请求的情况),即最优服务器的负载高于负载阈值时,将待处理请求转发给其他的服务器处理,以达到负载均衡。所以本发明提供的方法具有提高负载均衡效果的优点。
[0035]可选的,上述将其他服务器的权重值和第一服务器的权重值存储在缓存的具体实现方法可以为:
[0036]将其他服务器的权重值和第一服务器的权重值按大小顺序存储在缓存中,这样提取最优服务器的权重值时直接提取最后的权重值即可,无需在重新比较判断谁的权重值最小或最大。这样能够提闻提取的效率。
[0037]可选的,上述将该待处理请求发送给剩余服务器中的一个服务器处理具体可以包括:
[0038]将待处理请求发送给剩余服务器中的权重值最小的服务器处理,这样,可以进一步提高负载均衡的效果,因为在权重值最小的服务器的负载为最小,所以转发给权重值最小的服务器,能够使得服务器系统的负载更加的均衡。当然也可以采用其他的方式,例如,将待处理请求发送给剩余服务器中的任意一个服务器处理,当然也可以为,将待处理请求发送给剩余服务器中权重值小于负载阈值的服务器中的任意一个服务器。
[0039]可选的,上述方法在将该待处理请求发送给剩余服务器处理之后,还可以包括:
[0040]最优服务器在服务器系统内广播提高负载阈值的消息以使服务器系统内的服务器提闻负载阈值。
[0041]上述负载阈值具体可以由用户设定,例如设定多个等级的负载阈值,当然也可以直接为一个具体的值。
[0042]服务器的信息具体可以包括:服务器的CPU使用率、内存使用值和1吞吐量等。上述计算权重值的具体方法可以为:
[0043]权重值=K1*CPU使用率+K2*内存使用值+K3*10吞吐量
[0044]其中Κ1、Κ2、Κ3为经验系数。当然在实际情况中,还可以采用其他的权重值的计算方法,例如:对于行情转码的服务器,其主要业务就是客户请求最新行情,具体公式如下:
[0045]权重值=K1*CPU使用率+K2*内存使用值+K3*10吞吐量+Κ4*业务平均耗时+Κ5*客户连接数。采用此种公式能够更加准确的计算出各个服务器的权重值。其中,其中Κ1、Κ2、Κ3、Κ4、Κ5为经验系数。
[0046]本发明【具体实施方式】并权重的计算方法并不限定。
[0047]可选的,上述方法在处理该待处理请求之后还可以包括:
[0048]最优服务器获取缓存中存储的所有权重值中比负载阈值小的权重值的个数与所有权重值个数的比值,如该比值大于比值阈值,则在服务器系统内广播降低负载阈值的消息以使服务器系统内的服务器降低负载阈值。
[0049]上述方法通过比对阈值能够对各个服务器的负载阈值进行动态调整,例如,在需要提高阈值时,由于最优服务器已经是第一服务器选择出的最优服务器,所以该最后服务器一般情况下为整个服务器系统的最优服务器(当然由于通信的延时,与实际情况相比可能有所差别),此时,如果最优服务器的负载都大于负载阈值,则说明服务器系统中的绝大部分服务器的负载均要大于负载阈值,此时无需判断,直接可以发送提高负载阈值的消息,反之,如果小于阈值,则需要比对之后才能够判断是否降低负载阈值,而提高负载阈值或降低负载阈值是为了更好的平衡负载,因为如果负载阈值与服务器的实际负载之差越大,则负载阈值的作用越小,而如果服务器的实际负载总大于负载阈值,则会导致待处理请求被来回转发,最终延长待处理请求的时间,所以负载阈值的实时调整能够有效的实现负载均衡。阈值自动上调下调机制能够让负载系统更加稳定,能够智能的调整集群的性能。模块可以被轻量级嵌入,无关上层语言,无需繁冗的配置。比现有的负载均衡方法更智能,同时更为简单轻便易用,比硬件负载方法更为低廉,更高的性价比。
[0050]可选的,上述该待处理请求还包括一减数器,该减数器用于每当处理请求转发一次,减数器的值减I;当服务器接收到该待处理请求后,查看减数器的值,如减数器的值小于设定数字阈值,则服务器直接处理该待处理请求,此种方法可以避免待处理请求转发的次数过多。
[0051]本发明【具体实施方式】还提供一种服务器系统,所述服务器系统包括:多个服务器;
[0052]第一服务器,用于向所述服务器系统的其他服务器广播所述第一服务器的信息,第一服务器接收所述其他服务器发送的其他服务器的信息;
[0053]所述第一服务器,用于依据所述其他服务器的信息计算得到所述其他服务器的权重值,依据所述第一服务器的信息计算出所述第一服务器的权重值,并将所述其他服务器的权重值和所述第一服务器的权重值存储在缓存;[0054]所述第一服务器,用于接收到待处理请求时,提取缓存中所述第一服务器的权重值和所述其他服务器的权重值,依据所述第一服务器的权重值和所述其他服务器的权重值查找出所述服务器系统中的最优服务器;
[0055]所述第一服务器,用于将所述待处理请求发送给该最优服务器;
[0056]所述最优服务器,用于接收到所述待处理请求后,判断其负载是否大于负载阈值,如负载小于负载阈值,则处理所述待处理请求,如负载大于或等于负载阈值时,则将所述待处理请求发送给剩余服务器中的一个服务器处理,所述剩余服务器为:服务器系统内除了所述第一服务器和所述最优服务器之外的服务器。
[0057]可选的,所述最优服务器还用于在服务器系统内广播提高负载阈值的消息以使服务器系统内的服务器提高负载阈值。
[0058]可选的,所述最优服务器,还用于获取缓存中存储的所有权重值中比负载阈值小的权重值的个数与所有权重值个数的比值,如该比值大于比值阈值,则在服务器系统内广播降低负载阈值的消息以使服务器系统内的服务器降低负载阈值。
[0059]可选的,所述待处理请求还包括:减数器,所述减数器用于每当待处理请求转发一次,减数器的值减I ;当服务器接收到所述待处理请求后,查看所述待处理请求的减数器的值,如所述减数器的值小于设定数字阈值,则服务器直接处理所述待处理请求。
[0060]以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明的保护范围之内。
【权利要求】
1.一种服务器系统的负载均衡方法,其特征在于,所述服务器系统包括:多个服务器,所述方法包括: 第一服务器向所述服务器系统的其他服务器广播所述第一服务器的信息,第一服务器接收所述其他服务器发送的其他服务器的信息; 所述第一服务器依据所述其他服务器的信息计算得到所述其他服务器的权重值,依据所述第一服务器的信息计算出所述第一服务器的权重值,并将所述其他服务器的权重值和所述第一服务器的权重值存储在缓存; 所述第一服务器接收到待处理请求时,提取缓存中所述第一服务器的权重值和所述其他服务器的权重值,依据所述第一服务器的权重值和所述其他服务器的权重值查找出所述服务器系统中的最优服务器; 将所述待处理请求发送给该最优服务器; 所述最优服务器接收到所述待处理请求后,所述最优服务器判断其负载是否大于负载阈值,如负载小于负载阈值,则处理所述待处理请求,如负载大于或等于负载阈值时,则将所述待处理请求发送给剩余服务器中的一个服务器处理,所述剩余服务器为:服务器系统内除了所述第一服务器和所述最优服务器之外的服务器。
2.根据权利要求1所述的方法,其特征在于,所述方法在将该待处理请求发送给剩余服务器处理之后,还包括: 所述最优服务器在服务器系统内广播提高负载阈值的消息以使服务器系统内的服务器提高负载阈值。
3.根据权利要求1所述的方法,其特征在于,所述方法在处理该待处理请求之后还包括: 所述最优服务器获取缓存中存储的所有权重值中比负载阈值小的权重值的个数与所有权重值个数的比值,如该比值大于比值阈值,则在服务器系统内广播降低负载阈值的消息以使服务器系统内的服务器降低负载阈值。
4.根据权利要求1所述的方法,其特征在于,所述待处理请求还包括:减数器,所述减数器用于每当待处理请求转发一次,减数器的值减I ;当服务器接收到所述待处理请求后,查看所述待处理请求的减数器的值,如所述减数器的值小于设定数字阈值,则服务器直接处理所述待处理请求。
5.一种服务器系统,其特征在于,所述服务器系统包括:多个服务器; 第一服务器,用于向所述服务器系统的其他服务器广播所述第一服务器的信息,第一服务器接收所述其他服务器发送的其他服务器的信息; 所述第一服务器,用于依据所述其他服务器的信息计算得到所述其他服务器的权重值,依据所述第一服务器的信息计算出所述第一服务器的权重值,并将所述其他服务器的权重值和所述第一服务器的权重值存储在缓存; 所述第一服务器,用于接收到待处理请求时,提取缓存中所述第一服务器的权重值和所述其他服务器的权重值,依据所述第一服务器的权重值和所述其他服务器的权重值查找出所述服务器系统中的最优服务器; 所述第一服务器,用于将所述待处理请求发送给该最优服务器; 所述最优服务器,用于接收到所述待处理请求后,判断其负载是否大于负载阈值,如负载小于负载阈值,则处理所述待处理请求,如负载大于或等于负载阈值时,则将所述待处理请求发送给剩余服务器中的一个服务器处理,所述剩余服务器为:服务器系统内除了所述第一服务器和所述最优服务器之外的服务器。
6.根据权利要求5所述的系统,其特征在于,所述最优服务器还用于在服务器系统内广播提高负载阈值的消息以使服务器系统内的服务器提高负载阈值。
7.根据权利要求5所述的系统,其特征在于,所述最优服务器,还用于获取缓存中存储的所有权重值中比负载阈值小的权重值的个数与所有权重值个数的比值,如该比值大于比值阈值,则在服务器系统内广播降低负载阈值的消息以使服务器系统内的服务器降低负载阈值。
8.根据权利要求5所述的系统,其特征在于,所述待处理请求还包括:减数器,所述减数器用于每当待处理请求转发一次,减数器的值减I ;当服务器接收到所述待处理请求后,查看所述 待处理请求的减数器的值,如所述减数器的值小于设定数字阈值,则服务器直接处理所述待处理请求。
【文档编号】H04L29/08GK104038525SQ201310073066
【公开日】2014年9月10日 申请日期:2013年3月7日 优先权日:2013年3月7日
【发明者】蓝强 申请人:深圳市金证科技股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1