CN104462598A - 一种应用服务器动态快速分配方法 - Google Patents
一种应用服务器动态快速分配方法 Download PDFInfo
- Publication number
- CN104462598A CN104462598A CN201410850932.5A CN201410850932A CN104462598A CN 104462598 A CN104462598 A CN 104462598A CN 201410850932 A CN201410850932 A CN 201410850932A CN 104462598 A CN104462598 A CN 104462598A
- Authority
- CN
- China
- Prior art keywords
- application server
- server
- array
- users
- alternate servers
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/10—File systems; File servers
- G06F16/17—Details of further file system functions
- G06F16/172—Caching, prefetching or hoarding of files
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Databases & Information Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Information Transfer Between Computers (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明公开了一种应用服务器动态快速分配方法,包括分配服务器生成备选服务器数组,新用户接入时根据生成的数组索引,在备选服务器数组循环查找应用服务器,通过与高速缓存服务器内数据比较判断当前应用服务器的服务用户数是否达到限制值来决定将新用户分配给当前应用服务器或是开始新一次查找;查找次数超出应用服务器个数时退出。本发明方法在有大量用户访问时,可以快速将用户动态分配到不同应用服务器上,降低单台服务器的压力,增强系统的并发能力。
Description
技术领域
本发明涉及一种服务器负载分配方法,特别是涉及一种应用服务器动态快速分配方法。
背景技术
由于单台服务器的计算瓶颈,在大量用户并发的情况下,一般会把用户分配到不同的服务器上,以减少单台服务器的压力。具体的分配方法需要满足几个特性:1)动态2)均衡3)快速。
发明内容
针对现有技术的不足,本发明的目的是提供一种应用服务器动态快速分配方法,解决单台服务器并发数有限,并且在高并发时处理速度较慢的问题。
本发明的技术方案是这样的:一种应用服务器动态快速分配方法,包括以下步骤:
1)分配服务器生成备选服务器数组,初始化索引为备选服务器数组的第一个元素位置,初始化循环次数为0,所述备选服务器数组中每个元素包括一个应用服务器标识以及对应应用服务器的最大并发用户数,所述备选服务器数组的长度为可用应用服务器数量,新用户接入时进入步骤2);
2)比较循环次数与备选服务器数组的长度,如果循环次数大于备选服务器数组的长度,则结束流程;如果循环次数小于备选服务器数组的长度,进入步骤3);
3)将索引值加1后对备选服务器数组的长度取余赋值给索引;
4)根据当前索引值从备选服务器数组中获取相应的应用服务器标识以及应用服务器的最大并发用户数;
5)分配服务器将应用服务器标识传给高速缓存服务器,高速缓存服务器根据应用服务器标识获取对应的应用服务器的当前服务用户数,并将应用服务器当前服务用户数返回给分配服务器;
6)分配服务器比较应用服务器当前服务用户数与应用服务器的最大并发用户数,如果应用服务器当前服务用户数小于应用服务器的最大并发用户数,进入步骤8),如果应用服务器当前服务用户数大于应用服务器的最大并发用户数,进入步骤7);
7)循环次数加1并返回步骤2);
8)循环次数设为0进入步骤9);
9)将新用户接入当前应用服务器标识所对应的应用服务器,结束流程。
在本发明的一个具体实施例中,所述分配服务器生成备选服务器数组是分配服务器根据应用服务器的配置文件生成的。
本发明所提供的技术方案,在有大量用户访问时,可以快速将用户动态分配到不同应用服务器上,降低单台服务器的压力,增强系统的并发能力,并具有以下效果:
a)分配速度快,耗时极短;
b)各服务器被分配几率相近,不会出现有的服务器分配用户很多,有的服务器很少分配用户的情况;
c)支持动态扩展服务器,数量可以动态增减;
d)服务器可承载的用户量可以设置,不会出现超负载问题。
附图说明
图1为服务器关系示意图。
图2为本发明动态快速分配方法流程示意图。
具体实施方式
下面结合实施例对本发明作进一步说明,但不作为对本发明的限定。
请结合图1及图2,本实施例涉及三类服务器,分别是应用服务器、高速缓存服务器、分配服务器,这三类服务器的作用分别如下:
分配服务器:负责将用户分配到应用服务器上。每台分配服务器存放一个系统可用应用服务器配置文件。每台应用服务器在配置文件中对应有一条配置记录,内容为应用服务器的标识key、ip地址和最大并发用户数max。分配服务器在系统启动后,将配置文件加载到内存中,生成一个备选服务器数组。
高速缓存服务器:提供记录每台应用服务器的当前服务用户数服务。高速缓存服务器使用Hash表做存储结构,Hash表存储各个应用服务器的标识key,以及与各个key对应的value,value为应用服务器当前服务用户数。key为从1开始的整数,value是大于等于0的整数。
应用服务器:负责维护自身服务用户数。当需要服务新用户时,应用服务器通知高速缓存服务器自身当前服务用户数加1。当用户不再使用服务时,应用服务器通知高速缓存服务器自身当前服务用户数减1。
应用服务器动态快速分配方法的具体过程如下:
1)初始化:分配服务器在启动后,加载系统可用应用服务器配置文件,根据配置文件生成一个备选服务器数组,每个数组的元素对应一条应用服务器配置记录,数组的长度length代表可用应用服务器的数量。初始化备选服务器的索引index为数组的第一个元素的位置,即index=0。初始化循环次数number为0。当有新用户需要被分配到应用服务器时,进入步骤2)。
2)比较number与length:先判断number是否小于length。如果为否,则结束流程,并告诉用户系统忙无法提供服务。如果是,进入步骤3)。
3)生成备选服务器的索引:将index+1后对length取余赋值给index,即index=(index+1)%length,此index作为备选服务器的索引,进入步骤4)。
4)获取key:根据index从备选服务器数组中取得对应服务器的配置信息中的key值,进入步骤5)
5)获取value:分配服务器将key值传给高速缓存服务器,高速缓存服务器根据key值获取对应的value值,即应用服务器当前服务用户数,并将value返回给分配服务器,进入步骤6)。
6)比较value与max:分配服务器将value与此应用服务器配置的最大并发用户数max进行比较。如果value<max,进入步骤8);否则,进入步骤7)。
7)number加1,返回步骤2)。
8)number赋值为0,进入步骤9)
9)将用户分配到当前key值对应的应用服务器上,结束流程。
Claims (2)
1.一种应用服务器动态快速分配方法,其特征在于,包括以下步骤:
1)分配服务器生成备选服务器数组,初始化索引为备选服务器数组的第一个元素位置,初始化循环次数为0,所述备选服务器数组中每个元素包括一个应用服务器标识以及对应应用服务器的最大并发用户数,所述备选服务器数组的长度为可用应用服务器数量,新用户接入时进入步骤2);
2)比较循环次数与备选服务器数组的长度,如果循环次数大于备选服务器数组的长度,则结束流程;如果循环次数小于备选服务器数组的长度,进入步骤3);
3)将索引值加1后对备选服务器数组的长度取余赋值给索引;
4)根据当前索引值从备选服务器数组中获取相应的应用服务器标识以及应用服务器的最大并发用户数;
5)分配服务器将应用服务器标识传给高速缓存服务器,高速缓存服务器根据应用服务器标识获取对应的应用服务器的当前服务用户数,并将应用服务器当前服务用户数返回给分配服务器;
6)分配服务器比较应用服务器当前服务用户数与应用服务器的最大并发用户数,如果应用服务器当前服务用户数小于应用服务器的最大并发用户数,进入步骤8),如果应用服务器当前服务用户数大于应用服务器的最大并发用户数,进入步骤7);
7)循环次数加1并返回步骤2);
8)循环次数设为0进入步骤9);
9)将新用户接入当前应用服务器标识所对应的应用服务器,结束流程。
2.根据权利要求1所述的应用服务器动态快速分配方法,其特征在于,所述分配服务器生成备选服务器数组是分配服务器根据应用服务器的配置文件生成的。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410850932.5A CN104462598B (zh) | 2014-12-31 | 2014-12-31 | 一种应用服务器动态快速分配方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410850932.5A CN104462598B (zh) | 2014-12-31 | 2014-12-31 | 一种应用服务器动态快速分配方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN104462598A true CN104462598A (zh) | 2015-03-25 |
CN104462598B CN104462598B (zh) | 2018-10-09 |
Family
ID=52908633
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201410850932.5A Active CN104462598B (zh) | 2014-12-31 | 2014-12-31 | 一种应用服务器动态快速分配方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN104462598B (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107743138A (zh) * | 2017-07-24 | 2018-02-27 | 上海壹账通金融科技有限公司 | 推送服务器分配方法、装置、计算机设备和存储介质 |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101247349A (zh) * | 2008-03-13 | 2008-08-20 | 华耀环宇科技(北京)有限公司 | 一种网络流量快速分配方法 |
-
2014
- 2014-12-31 CN CN201410850932.5A patent/CN104462598B/zh active Active
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101247349A (zh) * | 2008-03-13 | 2008-08-20 | 华耀环宇科技(北京)有限公司 | 一种网络流量快速分配方法 |
Non-Patent Citations (2)
Title |
---|
潘风文: "Round-Robin负载均衡算法及其实现原理", 《IT专家网 HTTP://SECURITY.CTOCIO.COM.CN/SECURITYCOMMENT/385/8082385.SHTML》 * |
田文洪等: "《云计算—资源调度管理》", 30 November 2011, 国防工业大学出版社 * |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107743138A (zh) * | 2017-07-24 | 2018-02-27 | 上海壹账通金融科技有限公司 | 推送服务器分配方法、装置、计算机设备和存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN104462598B (zh) | 2018-10-09 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR101994021B1 (ko) | 파일 조작 방법 및 장치 | |
CN107622091B (zh) | 一种数据库查询方法和装置 | |
CN106407207B (zh) | 一种实时新增数据更新方法和装置 | |
US8200628B2 (en) | Multi-tenancy data storage and access method and apparatus | |
CN107015985B (zh) | 一种数据存储与获取方法及装置 | |
US11496588B2 (en) | Clustering layers in multi-node clusters | |
CN104090897B (zh) | 访问元数据的方法、服务器及系统 | |
US8843632B2 (en) | Allocation of resources between web services in a composite service | |
CN106790552B (zh) | 一种基于内容分发网络的内容提供系统 | |
CN103310000A (zh) | 元数据管理方法 | |
CN105302840A (zh) | 一种缓存管理方法与设备 | |
US8793250B1 (en) | Flexible partitioning of data | |
CN110941602B (zh) | 数据库的配置方法、装置、电子设备及存储介质 | |
CN105045762A (zh) | 一种配置文件的管理方法及装置 | |
WO2018192403A1 (zh) | 一种bind配置加载优化方法、装置、介质及计算机设备 | |
CN109800236A (zh) | 支持多节点的分布式缓存方法及设备 | |
CN106055706A (zh) | 一种缓存资源存储方法及装置 | |
CN108399175B (zh) | 一种数据存储、查询方法及其装置 | |
CN109343962A (zh) | 数据处理方法、装置及分布式服务系统 | |
WO2020094064A1 (zh) | 性能优化方法、装置、设备及计算机可读存储介质 | |
CN110309229A (zh) | 分布式系统的数据处理方法和分布式系统 | |
CN109788013B (zh) | 分布式系统中作业资源分配方法、装置及设备 | |
CN102970349A (zh) | 一种dht网络的存储负载均衡方法 | |
CN101483668A (zh) | 热点数据的网络存储和访问方法、设备及系统 | |
US9959019B1 (en) | Customizable media player framework |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |