一种应用服务器动态快速分配方法

文档序号:6640868阅读:377来源:国知局
一种应用服务器动态快速分配方法
【专利摘要】本发明公开了一种应用服务器动态快速分配方法,包括分配服务器生成备选服务器数组,新用户接入时根据生成的数组索引,在备选服务器数组循环查找应用服务器,通过与高速缓存服务器内数据比较判断当前应用服务器的服务用户数是否达到限制值来决定将新用户分配给当前应用服务器或是开始新一次查找;查找次数超出应用服务器个数时退出。本发明方法在有大量用户访问时,可以快速将用户动态分配到不同应用服务器上,降低单台服务器的压力,增强系统的并发能力。
【专利说明】一种应用服务器动态快速分配方法

【技术领域】
[0001]本发明涉及一种服务器负载分配方法,特别是涉及一种应用服务器动态快速分配方法。

【背景技术】
[0002]由于单台服务器的计算瓶颈,在大量用户并发的情况下,一般会把用户分配到不同的服务器上,以减少单台服务器的压力。具体的分配方法需要满足几个特性:1)动态2)均衡3)快速。


【发明内容】

[0003]针对现有技术的不足,本发明的目的是提供一种应用服务器动态快速分配方法,解决单台服务器并发数有限,并且在高并发时处理速度较慢的问题。
[0004]本发明的技术方案是这样的:一种应用服务器动态快速分配方法,包括以下步骤:
[0005]1)分配服务器生成备选服务器数组,初始化索引为备选服务器数组的第一个元素位置,初始化循环次数为0,所述备选服务器数组中每个元素包括一个应用服务器标识以及对应应用服务器的最大并发用户数,所述备选服务器数组的长度为可用应用服务器数量,新用户接入时进入步骤2);
[0006]2)比较循环次数与备选服务器数组的长度,如果循环次数大于备选服务器数组的长度,则结束流程;如果循环次数小于备选服务器数组的长度,进入步骤3);
[0007]3)将索引值加1后对备选服务器数组的长度取余赋值给索引;
[0008]4)根据当前索引值从备选服务器数组中获取相应的应用服务器标识以及应用服务器的最大并发用户数;
[0009]5)分配服务器将应用服务器标识传给高速缓存服务器,高速缓存服务器根据应用服务器标识获取对应的应用服务器的当前服务用户数,并将应用服务器当前服务用户数返回给分配服务器;
[0010]6)分配服务器比较应用服务器当前服务用户数与应用服务器的最大并发用户数,如果应用服务器当前服务用户数小于应用服务器的最大并发用户数,进入步骤8),如果应用服务器当前服务用户数大于应用服务器的最大并发用户数,进入步骤7);
[0011]7)循环次数加1并返回步骤2);
[0012]8)循环次数设为0进入步骤9);
[0013]9)将新用户接入当前应用服务器标识所对应的应用服务器,结束流程。
[0014]在本发明的一个具体实施例中,所述分配服务器生成备选服务器数组是分配服务器根据应用服务器的配置文件生成的。
[0015]本发明所提供的技术方案,在有大量用户访问时,可以快速将用户动态分配到不同应用服务器上,降低单台服务器的压力,增强系统的并发能力,并具有以下效果:
[0016]a)分配速度快,耗时极短;
[0017]b)各服务器被分配几率相近,不会出现有的服务器分配用户很多,有的服务器很少分配用户的情况;
[0018]c)支持动态扩展服务器,数量可以动态增减;
[0019]d)服务器可承载的用户量可以设置,不会出现超负载问题。

【专利附图】

【附图说明】
[0020]图1为服务器关系不意图。
[0021]图2为本发明动态快速分配方法流程示意图。

【具体实施方式】
[0022]下面结合实施例对本发明作进一步说明,但不作为对本发明的限定。
[0023]请结合图1及图2,本实施例涉及三类服务器,分别是应用服务器、高速缓存服务器、分配服务器,这三类服务器的作用分别如下:
[0024]分配服务器:负责将用户分配到应用服务器上。每台分配服务器存放一个系统可用应用服务器配置文件。每台应用服务器在配置文件中对应有一条配置记录,内容为应用服务器的标识key、ip地址和最大并发用户数max。分配服务器在系统启动后,将配置文件加载到内存中,生成一个备选服务器数组。
[0025]高速缓存服务器:提供记录每台应用服务器的当前服务用户数服务。高速缓存服务器使用Hash表做存储结构,Hash表存储各个应用服务器的标识key,以及与各个key对应的value, value为应用服务器当前服务用户数。key为从1开始的整数,value是大于等于0的整数。
[0026]应用服务器:负责维护自身服务用户数。当需要服务新用户时,应用服务器通知高速缓存服务器自身当前服务用户数加1。当用户不再使用服务时,应用服务器通知高速缓存服务器自身当前服务用户数减1。
[0027]应用服务器动态快速分配方法的具体过程如下:
[0028]1)初始化:分配服务器在启动后,加载系统可用应用服务器配置文件,根据配置文件生成一个备选服务器数组,每个数组的元素对应一条应用服务器配置记录,数组的长度length代表可用应用服务器的数量。初始化备选服务器的索引index为数组的第一个元素的位置,即index = 0。初始化循环次数number为0。当有新用户需要被分配到应用服务器时,进入步骤2)。
[0029]2)比较number与length:先判断number是否小于length。如果为否,贝U结束流程,并告诉用户系统忙无法提供服务。如果是,进入步骤3)。
[0030]3)生成备选服务器的索引:将index+Ι后对length取余赋值给index,即index=(index+1) % length,此index作为备选服务器的索引,进入步骤4)。
[0031]4)获取key:根据index从备选服务器数组中取得对应服务器的配置信息中的key值,进入步骤5)
[0032]5)获取value:分配服务器将key值传给高速缓存服务器,高速缓存服务器根据key值获取对应的value值,即应用服务器当前服务用户数,并将value返回给分配服务器,进入步骤6)。
[0033]6)比较value与max:分配服务器将value与此应用服务器配置的最大并发用户数max进行比较。如果value〈max,进入步骤8);否则,进入步骤7)。
[0034]7) number 加 1,返回步骤 2)。
[0035]8) number赋值为0,进入步骤9)
[0036]9)将用户分配到当前key值对应的应用服务器上,结束流程。
【权利要求】
1.一种应用服务器动态快速分配方法,其特征在于,包括以下步骤: 1)分配服务器生成备选服务器数组,初始化索引为备选服务器数组的第一个元素位置,初始化循环次数为0,所述备选服务器数组中每个元素包括一个应用服务器标识以及对应应用服务器的最大并发用户数,所述备选服务器数组的长度为可用应用服务器数量,新用户接入时进入步骤2); 2)比较循环次数与备选服务器数组的长度,如果循环次数大于备选服务器数组的长度,则结束流程;如果循环次数小于备选服务器数组的长度,进入步骤3); 3)将索引值加1后对备选服务器数组的长度取余赋值给索引; 4)根据当前索引值从备选服务器数组中获取相应的应用服务器标识以及应用服务器的最大并发用户数; 5)分配服务器将应用服务器标识传给高速缓存服务器,高速缓存服务器根据应用服务器标识获取对应的应用服务器的当前服务用户数,并将应用服务器当前服务用户数返回给分配服务器; 6)分配服务器比较应用服务器当前服务用户数与应用服务器的最大并发用户数,如果应用服务器当前服务用户数小于应用服务器的最大并发用户数,进入步骤8),如果应用服务器当前服务用户数大于应用服务器的最大并发用户数,进入步骤7); 7)循环次数加1并返回步骤2); 8)循环次数设为0进入步骤9); 9)将新用户接入当前应用服务器标识所对应的应用服务器,结束流程。
2.根据权利要求1所述的应用服务器动态快速分配方法,其特征在于,所述分配服务器生成备选服务器数组是分配服务器根据应用服务器的配置文件生成的。
【文档编号】G06F17/30GK104462598SQ201410850932
【公开日】2015年3月25日 申请日期:2014年12月31日 优先权日:2014年12月31日
【发明者】周维丰, 吴少刚, 张福新, 许胡明, 管斌 申请人:江苏中科梦兰电子科技有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1