CN105915646A - 一种分散服务器负载的方法及装置 - Google Patents
一种分散服务器负载的方法及装置 Download PDFInfo
- Publication number
- CN105915646A CN105915646A CN201610443845.7A CN201610443845A CN105915646A CN 105915646 A CN105915646 A CN 105915646A CN 201610443845 A CN201610443845 A CN 201610443845A CN 105915646 A CN105915646 A CN 105915646A
- Authority
- CN
- China
- Prior art keywords
- server
- cluster
- minimum
- access
- module
- 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.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 126
- GNFTZDOKVXKIBK-UHFFFAOYSA-N 3-(2-methoxyethoxy)benzohydrazide Chemical compound COCCOC1=CC=CC(C(=O)NN)=C1 GNFTZDOKVXKIBK-UHFFFAOYSA-N 0.000 claims description 11
- 238000004364 calculation method Methods 0.000 claims description 10
- 238000004458 analytical method Methods 0.000 claims description 6
- 238000006467 substitution reaction Methods 0.000 description 2
- 230000006837 decompression Effects 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 238000010586 diagram Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000012163 sequencing technique Methods 0.000 description 1
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/1001—Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
- H04L67/1004—Server selection for load balancing
- H04L67/1008—Server selection for load balancing based on parameters of servers, e.g. available memory or workload
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/1001—Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
- H04L67/1004—Server selection for load balancing
- H04L67/1023—Server selection for load balancing based on a hash applied to IP addresses or costs
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer Hardware Design (AREA)
- General Engineering & Computer Science (AREA)
- Information Transfer Between Computers (AREA)
- Computer And Data Communications (AREA)
Abstract
本发明公开一种分散服务器负载的方法及装置,所述方法包括:主服务器接收请求,获取集群中多个集群服务器的负载参数,根据获取到的多个负载参数,在多个集群服务器中确定最优服务器,获取最优服务器的IP地址并发送给客户端,供客户端根据IP地址访问最优服务器。本发明中的技术方案,能够有效的分散集群中服务器的负载,减少服务器的资源消耗,提升客户端的体验。
Description
技术领域
本发明涉及网络技术领域,尤其涉及一种分散服务器负载的方法及装置。
背景技术
现在有技术中,在客户端访问服务器的过程中,并没有明确的分流策略和限流措施,往往造成服务器的负载过重而向客户端返回超时应答或者无应答的情形。在软件新版本发布的初期,客户端集中升级而造成的服务器负载过重的问题则更为明显,因而如何有效的分散服务器的负载,减少服务器的资源消耗,提升客户端的体验成为亟待解决的问题。
发明内容
本发明的目的是为了克服现有技术的不足,提供一种分散服务器负载的方法及装置。
一方面,本发明提供了一种分散服务器负载的方法,包括:
步骤S1:主服务器接收请求;
步骤S2:所述主服务器获取集群中多个集群服务器的负载参数,根据获取到的多个负载参数,在所述多个集群服务器中确定最优服务器;
步骤S3:所述主服务器获取所述最优服务器的IP地址并发送给客户端,供所述客户端根据所述IP地址访问所述最优服务器。
可选地,所述步骤S2,还包括:所述主服务器更新集群服务器列表中集群服务器的信息;
所述步骤S2中,所述主服务器获取集群中多个集群服务器的负载参数,具体为:所述主服务器在所述集群服务器列表获取集群中多个集群服务器的负载参数。
所述主服务器更新集群服务器列表中集群服务器的信息,具体为:
步骤a:所述主服务器下载各集群服务器的日志文件,解析所述日志文件,得到对应的集群服务器的被访问次数和所用流量,并将所述集群服务器列表中所述对应的集群服务器的被访问次数和所用流量更新为得到的被访问次数和所用流量。
可选地,所述解析所述日志文件,得到对应的集群服务器的被访问次数和所用流量,具体为:
所述主服务器解析所述日志文件,统计所述日志文件中访问记录的行数得到对应的集群服务器的被访问次数;读取所述日志文件中每行访问记录中最后一段数据类型的数据并求和得到对应的集群服务器的所用流量。
可选地,所述步骤S2,还包括:当所述主服务器根据获取到的多个负载参数,在所述多个集群服务器中未查找到最优服务器时,返回错误码给客户端,结束。
可选地,所述负载参数,具体为:集群服务器在预设时间内的被访问次数;
所述步骤S2,具体为:所述主服务器获取集群中多个集群服务器在预设时间内的被访问次数,根据获取到的多个被访问次数,在所述多个集群服务器中确定最优服务器。
可选地,所述根据获取到的多个被访问次数,在所述多个集群服务器中确定最优服务器,具体为:所述主服务器在获取到的多个被访问次数中选择最小被访问次数,将所述最小被访问次数对应的集群服务器作为最优服务器。
可选地,将所述最小被访问次数对应的集群服务器作为最优服务器之前,还包括:
步骤E:所述主服务器判断所述最小被访问次数是否小于预设访问次数阈值,是则将所述最小被访问次数对应的集群服务器作为最优服务器,否则确认根据获取到的多个负载参数,在所述多个集群服务器中未查找到最优服务器,返回错误码给所述客户端,结束。
可选地,所述步骤E判断为是时,还包括:
步骤e1:所述主服务器判断所述最小被访问次数对应的集群服务器的数量是否为一个,是则执行步骤e2,否则执行步骤e3;
步骤e2:所述主服务器根据所述最小被访问次数读取其对应的集群服务器的所用流量,并判断是否小于预设的流量阈值,是则将所述最小被访问次数对应的集群服务器作为最优服务器,否则确认根据获取到的多个负载参数,在所述多个集群服务器中未查找到最优服务器,返回错误码给客户端,结束;
步骤e3:所述主服务器根据所述最小被访问次数,读取其对应的多个集群服务器的所用流量,在读取到的所用流量中选择最小流量,判断所述最小流量是否小于预设流量阈值,是则将所述最小流量对应的集群服务器作为最优服务器,否则确认根据获取到的多个负载参数,在所述多个集群服务器中未查找到最优服务器,返回错误码给所述客户端,结束。
可选地,当所述最小流量对应的集群服务器的数量大于一个时,所述主服务器随机选取其中一个集群服务器作为最优服务器。
可选地,所述负载参数,具体为:集群服务器在预设时间内的所用流量;
所述步骤S2,具体为:所述主服务器获取集群中多个集群服务器在预设时间内的所用流量,根据获取到的多个所用流量,在所述多个集群服务器中确定最优服务器。
可选地,所述根据获取到的多个所用流量,在所述多个集群服务器中确定最优服务器,具体为:所述主服务器在获取到的多个所用流量中选择最小流量,将所述最小流量对应的集群服务器作为最优服务器。
可选地,将所述最小流量对应的集群服务器作为最优服务器之前,还包括:
步骤T:所述主服务器判断所述最小流量是否小于预设流量阈值,是则将所述最小流量对应的集群服务器作为最优服务器,否则确认根据获取到的多个负载参数,在所述多个集群服务器中未查找到最优服务器,返回错误码给所述客户端,结束。
可选地,所述步骤T判断为是时,还包括:
步骤t1:所述主服务器判断所述最小流量对应的集群服务器的数量是否为一个,是则执行步骤t2,否则执行步骤t3;
步骤t2:所述主服务器根据所述最小流量读取其对应的集群服务器的被访问次数,并判断是否小于预设访问次数阈值,是则将所述最小流量对应的集群服务器作为最优服务器,否则确认根据获取到的多个负载参数,在所述多个集群服务器中未查找到最优服务器,返回错误码给客户端,结束;
步骤t3:所述主服务器根据所述最小流量,读取其对应的多个集群服务器的被访问次数,在读取到的被访问次数中选择最小被访问次数,判断所述最小被访问次数是否小于预设访问次数阈值,是则将所述最小被访问次数对应的集群服务器作为最优服务器,否则确认根据获取到的多个负载参数,在所述多个集群服务器中未查找到最优服务器,返回错误码给所述客户端,结束。
可选地,当所述最小被访问次数对应的集群服务器的数量大于一个时,所述主服务器随机选取其中一个集群服务器作为最优服务器。
可选地,所述负载参数具体为集群服务器在预设时间内的被访问次数和所用流量;
所述步骤S2,具体为:所述主服务器获取集群中多个集群服务器的被访问次数和所用流量,根据获取到的多个被访问次数和所用流量,在所述多个集群服务器中确定最优服务器。
可选地,所述根据获取到的多个被访问次数和所用流量,在所述多个集群服务器中确定最优服务器,具体包括:
步骤F1:所述主服务器在获取到的多个被访问次数中选择最小被访问次数,在获取到的多个所用流量中选择最小流量;
步骤F2:所述主服务器根据所述最小被访问次数和所述最小流量,分别计算对应的集群服务器的负载并选择最小负载,将所述最小负载对应的集群服务器作为最优服务器。
可选地,所述步骤F2之前,还包括:
步骤Y:所述主服务器判断所述最小被访问次数和所述最小流量是否小于对应的预设访问次数阈值和预设流量阈值,当判断其一为是时,将其对应的集群服务器作为最优服务器,当判断均为是时,执行步骤F2,当判断均为否时,确认根据获取到的多个负载参数,在所述多个集群服务器中未查找到最优服务器,返回错误码给客户端,结束。
可选地,所述步骤Y中,
当判断其一为是,具体为:判断出所述最小被访问次数小于预设访问次数阈值时,将所述最小被访问次数对应的集群服务器作为最优服务器之前,还包括:
步骤d1:所述主服务器判断所述最小被访问次数对应的集群服务器的数量是否为一个,是则执行步骤d2,否则执行步骤d3;
步骤d2:所述主服务器根据所述最小被访问次数读取其对应的集群服务器的所用流量,并判断是否小于预设流量阈值,是则将所述最小被访问次数对应的集群服务器作为最优服务器,否则确认根据获取到的多个负载参数,在所述多个集群服务器中未查找到最优服务器,返回错误码给客户端,结束;
步骤d3:所述主服务器根据所述最小被访问次数,读取其对应的多个集群服务器的所用流量,并判断是否小于预设流量阈值,当判断均为否时,确认根据获取到的多个负载参数,在所述多个集群服务器中未查找到最优服务器,返回错误码给客户端,结束,否则在小于所述预设流量阈值的所用流量中选择最小流量,将所述最小流量对应的服务器作为最优服务器;
当判断其一为是,具体为:判断出所述最小流量小于预设流量阈值时,将所述最小流量对应的集群服务器作为最优服务器之前,还包括:
步骤g1:所述主服务器判断所述最小流量对应的集群服务器的数量是否为一个,是则执行步骤g2,否则执行步骤g3;
步骤g2:所述主服务器根据所述最小流量读取其对应的集群服务器的被访问次数,并判断是否小于预设访问次数阈值,是则将所述最小流量对应的集群服务器作为最优服务器,否则确认根据获取到的多个负载参数,在所述多个集群服务器中未查找到最优服务器,返回错误码给客户端,结束;
步骤g3:所述主服务器根据所述最小流量,读取其对应的多个集群服务器的被访问次数,并判断是否小于预设访问次数阈值,当判断均为否时,确认根据获取到的多个负载参数,在所述多个集群服务器中未查找到最优服务器,返回错误码给客户端,结束,否则在小于所述预设访问次数阈值的被访问次数中选择最小被访问次数,将所述最小被访问次数对应的集群服务器作为最优服务器。
可选地,所述步骤d3中,当所述最小流量对应的集群服务器的数量大于一个时,所述主服务器随机选取其中一个集群服务器作为最优服务器;
所述步骤g3中,当所述最小被访问次数对应的集群服务器的数量大于一个时,所述主服务器随机选取其中一个集群服务器作为最优服务器。
可选地,所述根据获取到的多个被访问次数和所用流量,在所述多个集群服务器中确定最优服务器,具体为:
步骤H1:所述主服务器根据获取到的被访问次数和所用流量,计算对应的集群服务器的负载并保存;
步骤H2:所述主服务器在保存的负载中选择最小负载,将所述最小负载对应的集群服务器作为最优服务器。
可选地,所述步骤H1之前,还包括:所述主服务器判断获取到的被访问次数和所用流量是否小于对应的预设访问次数阈值和预设流量阈值,当判断均为是时,执行步骤H1。
可选地,所述步骤H2之前,还包括:所述主服务器判断保存的负载的数量是否为零,是则确认根据获取到的多个负载参数,在所述多个集群服务器中未查找到最优服务器,返回错误码给客户端,结束,否则执行步骤H2。
可选地,当所述最小负载对应的集群服务器的数量大于一个时,所述主服务器随机选取其中一个集群服务器作为最优服务器。
可选地,所述计算对应的集群服务器的负载,具体为:
将所述集群服务器的所用流量除以预设基数得到的商再加上该集群服务器的被访问次数;
或者,
将所述集群服务器的所用流量与预设基数取余得到的商再加上该集群服务器的被访问次数。
可选地,所述步骤S3,还可以为:所述主服务器获取所述最优服务器的IP地址,并根据所述IP地址发送连接请求给所述最优服务器。
可选地,当所述主服务器具体为应用服务器时,
所述步骤S1,具体为:应用服务器接收客户端发送来的连接请求;
所述步骤S3中,所述应用服务器获取所述最优服务器的IP地址并发送给客户端,具体为:所述应用服务器获取所述最优服务器的IP地址,根据所述IP地址组织连接请求应答数据,将所述连接请求应答数据发送给所述客户端。
可选地,当所述主服务器具体为管理服务器时,
所述步骤S1之前,还包括:应用服务器接收客户端发送的连接请求;
所述步骤S1,具体为:管理服务器接收所述应用服务器发送来的获取服务器请求;
所述步骤S2中,当根据获取到的多个负载参数,在所述多个集群服务器中未查找到最优服务器时,所述应用服务器返回错误码给所述客户端;
所述步骤S3中,所述管理服务器获取所述最优服务器的IP地址之后,还包括:所述管理服务器将获取到的IP地址发送给所述应用服务器,所述应用服务器根据所述IP地址组织连接请求应答数据并发送给所述客户端。
另一方面,本发明还提供了一种分散服务器负载的装置,包括:
接收模块,用于接收请求;
第一获取模块,用于获取集群中多个集群服务器的负载参数;
选择模块,用于根据所述第一获取模块获取到的多个集群服务器的负载参数,在所述多个集群服务器中确定最优服务器;
第二获取模块,用于获取所述选择模块确定的最优服务器的IP地址;
发送模块,用于将所述第二获取模块获取到的IP地址发送给客户端,供所述客户端根据所述IP地址访问所述最优服务器。
可选地,所述装置还包括:更新模块,用于更新集群服务器列表中集群服务器的信息;
所述第一获取模块,具体用于:访问所述集群服务器列表获取集群中多个集群服务器的负载参数。
可选地,所述更新模块,具体包括:
下载子模块,用于下载各集群服务器的日志文件;
解析子模块,用于解析所述下载子模块下载的日志文件,得到对应的集群服务器的被访问次数和所用流量;
更新子模块,用于将所述集群服务器列表中所述对应的集群服务器的被访问次数和所用流量更新为所述解析子模块得到的被访问次数和所用流量。
可选地,所述解析子模块,具体用于:解析所述下载子模块下载的日志文件,统计所述日志文件中访问记录的行数得到对应的集群服务器的被访问次数;读取所述日志文件中每行访问记录中最后一段数据类型的数据并求和得到对应的集群服务器的所用流量。
可选地,所述发送模块,还用于当所述选择模块根据所述第一获取模块获取到的多个负载参数,在所述多个集群服务器中未查找到最优服务器时,返回错误码给客户端,结束。
可选地,所述负载参数,具体为:集群服务器在预设时间内的被访问次数;
所述第一获取模块,具体用于:获取集群中多个集群服务器在预设时间内的被访问次数;
所述选择模块,具体用于:根据所述第一获取模块获取到的多个被访问次数,在所述多个集群服务器中确定最优服务器。
可选地,所述选择模块,具体包括:
第一选择子模块,用于在所述第一获取模块获取到的多个被访问次数中选择最小被访问次数;
第一作为子模块,用于将所述最小被访问次数对应的服务器作为最优服务器。
可选地,所述选择模块,还包括:
第一判断子模块,用于所述第一作为子模块将所述最小被访问次数对应的集群服务器作为最优服务器之前,判断所述最小被访问次数是否小于预设访问次数阈值;
所述第一作为子模块,具体用于当所述第一判断子模块判断出所述最小被访问次数小于预设访问次数阈值时,将所述最小被访问次数对应的集群服务器作为最优服务器;
所述发送模块,具体用于当所述第一判断子模块判断出所述最小被访问次数不小于预设访问次数阈值时,确认所述选择模块根据所述第一获取模块获取到的多个负载参数,在所述多个集群服务器中未查找到最优服务器,返回错误码给所述客户端,结束。
可选地,所述选择模块,还包括:
第二判断子模块,用于当所述第一判断子模块判断出所述最小被访问次数小于预设访问次数阈值时,判断所述最小被访问次数对应的集群服务器的数量是否为一个;
第三判断子模块,用于当所述第二判断子模块判断出所述最小被访问次数对应的集群服务器的数量是一个时,根据所述最小被访问次数读取其对应的集群服务器的所用流量,并判断是否小于预设的流量阈值;
所述第一作为子模块,具体用于:当所述第三判断子模块判断出根据所述最小被访问次数读取到的所用流量小于预设的流量阈值时,将所述最小被访问次数对应的集群服务器作为最优服务器;
第一选择判断子模块,用于当所述第二判断子模块判断出所述最小被访问次数对应的集群服务器的数量不是一个时,根据所述最小被访问次数,读取其对应的多个集群服务器的所用流量,在读取到的所用流量中选择最小流量,判断所述最小流量是否小于预设流量阈值;
所述第一作为子模块,还用于当所述第一选择判断子模块判断出所述最小流量小于预设流量阈值时,将所述最小流量对应的集群服务器作为最优服务器;
所述发送模块,还用于当所述第三判断子模块判断出根据所述最小被访问次数读取到的所用流量不小于预设流量阈值时,确认所述选择模块根据所述第一获取模块获取到的多个负载参数,在所述多个集群服务器中未查找到最优服务器,返回错误码给客户端,结束;还用于当所述第一选择判断子模块判断出所述最小流量不小于预设流量阈值时,确认所述选择模块根据所述第一获取模块获取到的多个负载参数,在所述多个集群服务器中未查找到最优服务器,返回错误码给所述客户端,结束。
可选地,所述第一作为子模块,还用于当所述最小流量对应的集群服务器的数量大于一个时,随机选取其中一个集群服务器作为最优服务器。
可选地,所述负载参数,具体为:集群服务器在预设时间内的所用流量;
所述第一获取模块,具体用于:获取集群中多个集群服务器在预设时间内的所用流量;
所述选择模块,具体用于:根据所述第一获取模块获取到的多个所用流量,在所述多个集群服务器中确定最优服务器。
可选地,所述选择模块,具体包括:
第二选择子模块,用于在获取到的多个所用流量中选择最小流量;
第二作为子模块,用于将所述最小流量对应的集群服务器作为最优服务器。
可选地,所述选择模块,还包括:
第四判断子模块,用于所述第二作为子模块将所述最小流量对应的集群服务器作为最优服务器之前,判断所述最小流量是否小于预设流量阈值;
所述第二作为子模块,具体用于:当所述第四判断子模块判断出所述最小流量小于预设流量阈值时,将所述最小流量对应的集群服务器作为最优服务器;
所述发送模块,具体用于:当所述第四判断子模块判断出所述最小流量不小于预设流量阈值时,确认所述选择模块根据所述第一获取模块获取到的多个负载参数,在所述多个集群服务器中未查找到最优服务器,返回错误码给所述客户端,结束。
可选地,所述选择模块,还包括:
第五判断子模块,用于所述第四判断子模块判断出所述最小流量小于预设流量阈值时,判断所述最小流量对应的集群服务器的数量是否为一个;
读取判断子模块,具体用于:当所述第五判断子模块判断出所述最小流量对应的集群服务器的数量是一个时,根据所述最小流量读取其对应的集群服务器的被访问次数,并判断是否小于预设访问次数阈值;
所述第二作为子模块,具体用于:当所述读取判断子模块判断出根据所述最小流量读取到的被访问次数小于预设访问次数阈值时,将所述最小流量对应的集群服务器作为最优服务器;
第二选择判断子模块,用于当所述第五判断子模块判断出所述最小流量对应的集群服务器的数量不是一个时,根据所述最小流量,读取其对应的多个集群服务器的被访问次数,在读取到的被访问次数中选择最小被访问次数,判断所述最小被访问次数是否小于预设访问次数阈值;
所述第二作为子模块,具体用于:当所述第二选择判断子模块判断出所述最小被访问次数小于预设访问次数阈值时,将所述最小被访问次数对应的集群服务器作为最优服务器;
所述发送模块,还用于当所述第二读取判断子模块判断出根据所述最小流量读取到的被访问次数不小于预设访问次数阈值时,确认所述选择模块根据所述第一获取模块获取到的多个负载参数,在所述多个集群服务器中未查找到最优服务器,返回错误码给所述客户端,结束;还用于当所述第二选择判断子模块判断出所述最小被访问次数不小于预设访问次数阈值时,确认所述选择模块根据所述第一获取模块获取到的多个负载参数,在所述多个集群服务器中未查找到最优服务器,返回错误码给所述客户端,结束。
可选地,所述第二作为子模块,还用于当所述最小被访问次数对应的集群服务器的数量大于一个时,随机选取其中一个集群服务器作为最优服务器。
可选地,所述负载参数具体为集群服务器的被访问次数和所用流量;
所述第一获取模块,具体用于:获取集群中多个集群服务器的被访问次数和所用流量;
所述选择模块,具体用于:根据所述第一获取模块获取到的多个被访问次数和所用流量,在所述多个集群服务器中确定最优服务器。
可选地,所述选择模块,具体包括:
第三选择子模块,用于在所述第一获取模块获取到的多个被访问次数中选择最小被访问次数,在所述第一获取模块获取到的多个所用流量中选择最小流量;
计算子模块,用于根据所述第三选择子模块选择的最小被访问次数和所述最小流量,分别计算对应的集群服务器的负载并选择最小负载;
第三作为子模块,用于将所述最小负载对应的集群服务器作为最优服务器。
可选地,所述选择模块,还包括:
第六判断子模块,用于判断所述最小被访问次数和所述最小流量是否小于对应的预设访问次数阈值和预设流量阈值;
所述第三作为子模块,还用于当所述第六判断子模块判断出其一为是时,将其对应的集群服务器作为最优服务器;
所述计算子模块,具体用于:当所述第六判断子模块判断出均为是时,根据所述选择子模块选择的最小被访问次数和所述最小流量,分别计算对应的集群服务器的负载并选择最小负载;
所述发送模块,具体用于:当所述第六判断子模块出均为否时,确认所述选择模块根据所述第一获取模块获取到的多个负载参数,在所述多个集群服务器中未查找到最优服务器,返回错误码给客户端,结束。
可选地,所述选择模块,还包括:
第七判断子模块,用于当所述第六判断子模块判断其一为是,具体为:判断出所述最小被访问次数小于预设访问次数阈值时,所述第三作为子模块将所述最小被访问次数对应的集群服务器作为最优服务器之前,判断所述最小被访问次数对应的集群服务器的数量是否为一个;
第八判断子模块,用于当所述第七判断子模块判断出所述最小被访问次数对应的集群服务器的数量是一个时,根据所述最小被访问次数读取其对应的集群服务器的所用流量,并判断是否小于预设流量阈值;
所述第三作为子模块,具体用于当所述第八判断子模块判断出根据所述最小被访问次数读取到的所用流量小于预设流量阈值时,将所述最小被访问次数对应的集群服务器作为最优服务器;
所述发送模块,还用于当所述第八判断子模块判断出根据所述最小被访问次数读取到的所用流量不小于预设流量阈值时,确认所述选择模块根据所述第一获取模块获取到的多个负载参数,在所述多个集群服务器中未查找到最优服务器,返回错误码给客户端,结束;
第九判断子模块,用于当所述第七判断子模块判断出所述最小被访问次数对应的集群服务器的数量不是一个时,根据所述最小被访问次数,读取其对应的多个集群服务器的所用流量,并判断是否小于预设流量阈值;
所述发送模块,还用于当所述第九判断子模块判断出均为否时,确认所述选择模块根据所述第一获取模块获取到的多个负载参数,在所述多个集群服务器中未查找到最优服务器,返回错误码给客户端,结束;
所述第三选择子模块,还用于当所述第九判断子模块判断出不均为否时,在小于所述预设流量阈值的所用流量中选择最小流量;
所述第三作为子模块,具体用于:将所述第三选择子模块选择的最小流量对应的服务器作为最优服务器;
第十判断子模块,用于当所述第六判断子模块判断其一为是,具体为:判断出所述最小流量小于预设流量阈值时,所述第三作为子模块将所述最小流量对应的集群服务器作为最优服务器之前,判断所述最小流量对应的集群服务器的数量是否为一个;
第十一判断子模块,用于当所述第十判断子模块判断出所述最小流量对应的集群服务器的数量是一个时,根据所述最小流量读取其对应的集群服务器的被访问次数,并判断是否小于预设访问次数阈值;
所述第三作为子模块,具体用于:当所述第十一判断子模块判断出根据所述最小流量读取到的被访问次数小于预设访问次数阈值时,将所述最小流量对应的集群服务器作为最优服务器;
所述发送模块,还用于当所述第十一判断模块判断出根据所述最小流量读取到的被访问次数不小于预设访问次数阈值时,确认所述选择模块根据所述第一获取模块获取到的多个负载参数,在所述多个集群服务器中未查找到最优服务器,返回错误码给客户端,结束;
第十二判断子模块,用于当所述第十判断子模块判断出所述最小流量对应的集群服务器的数量不是一个时,根据所述最小流量,读取其对应的多个集群服务器的被访问次数,并判断是否小于预设访问次数阈值;
所述发送模块,还用于当所述第十二判断子模块判断出均为否时,确认所述选择模块根据所述第一获取模块获取到的多个负载参数,在所述多个集群服务器中未查找到最优服务器,返回错误码给客户端,结束;
所述第三选择子模块,还用于当所述第十二判断子模块判断出不均为否时,在小于所述预设访问次数阈值的被访问次数中选择最小被访问次数;
所述第三作为子模块,具体用于:将所述第三选择子模块选择的最小被访问次数对应的集群服务器作为最优服务器。
可选地,所述第三作为子模块,还用于当所述最小流量对应的集群服务器的数量大于一个时,随机选取其中一个集群服务器作为最优服务器;还用于当所述最小被访问次数对应的集群服务器的数量大于一个时,随机选取其中一个集群服务器作为最优服务器。
可选地,所述选择模块,具体包括:
计算子模块,用于根据所述第一获取模块获取到的被访问次数和所用流量,计算对应的集群服务器的负载并保存;
第四选择子模块,用于在保存的负载中选择最小负载;
第四作为子模块,用于将所述第四选择子模块选择的最小负载对应的集群服务器作为最优服务器。
可选地,所述选择模块,还包括:
第十三判断子模块,用于所述计算子模块根据获取到的被访问次数和所用流量,计算对应的集群服务器的负载并保存之前,判断所述第一获取模块获取到的被访问次数和所用流量是否小于对应的预设访问次数阈值和预设流量阈值;
所述计算子模块,具体用于:当所述第十三判断子模块判断出均为是时,根据所述获取到的被访问次数和所用流量,计算对应的集群服务器的负载并保存。
可选地,所述选择模块,还包括:
第十四判断子模块,用于所述第四选择子模块在保存的负载中选择最小负载之前,判断保存的负载的数量是否为零;
所述发送模块,具体用于:当所述第十四判断子模块判断出保存的负载的数量为零时,确认所述选择模块根据所述第一获取模块获取到的多个负载参数,在所述多个集群服务器中未查找到最优服务器,返回错误码给客户端,结束;
所述第四选择子模块,具体用于当所述第十四判断子模块判断出保存的负载的数量不为零时,在保存的负载中选择最小负载。
可选地,所述第四作为子模块,还用于当所述最小负载对应的集群服务器的数量大于一个时,随机选取其中一个集群服务器作为最优服务器。
可选地,所述计算子模块,具体用于:
将所述集群服务器的所用流量除以预设基数得到的商再加上该集群服务器的被访问次数;
或者,
将所述集群服务器的所用流量与预设基数取余得到的商再加上该集群服务器的被访问次数。
可选地,所述发送模块,还可以用于:根据所述第二获取模块获取到的IP地址发送连接请求给所述最优服务器。
可选地,所述接收模块,具体用于:接收客户端发送来的连接请求;
所述发送模块,具体用于:根据所述第二获取模块获取到的IP地址组织连接请求应答数据,将所述连接请求应答数据发送给所述客户端。
可选地,所述接收模块,具体用于:接收应用服务器发送来的获取服务器请求;
所述发送模块,具体用于:将所述第二获取模块获取到的IP地址发送给所述应用服务器。
本发明与现有技术相比,具有以下优点:能够有效的分散集群中服务器的负载,减少服务器的资源消耗,提升客户端的体验。
附图说明
为了更清楚的说明本发明实施例的技术方案,下面将对实施例中所需使用的附图做简单的介绍,显而易见地,下面描述的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例一提供的一种分散服务器负载的方法流程图;
图2为本发明实施例二提供的一种分散服务器负载的方法流程图;
图3为本发明实施例三提供的一种分散服务器负载的方法流程图;
图4为本发明实施例四提供的一种分散服务器负载的方法流程图;
图5为本发明实施例五提供的一种分散服务器负载的方法流程图;
图6为本发明实施例六提供的一种分散服务器负载的装置图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整的描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本发明保护的范围。
本发明中的技术方案适用于包含至少两个服务器节点的服务器集群,其中,集群中各服务器的IP地址、流量阈值、被访问次数阈值均由管理员预先设定。
实施例一
本发明实施例一提供一种分散服务器负载的方法,如图1所示,包括:
步骤101:主服务器接收请求;
在本实施例中,当主服务器具体为应用服务器时,步骤101具体为:主服务器接收客户端发送来的连接请求;
例如,主服务器接收到的客户端发送来的连接请求为http://ip:port/reqtype=6;
在本实施例中,当主服务器是管理服务器时,步骤101具体为:主服务器接收应用服务器发送来的获取服务器请求;
相应地,步骤101之前,还包括:应用服务器接收客户端发送来的连接请求。
步骤102:主服务器获取集群中多个集群服务器的负载参数,根据获取到的多个负载参数,在多个集群服务器中确定最优服务器;
在本实施例中,步骤102还包括:主服务器更新集群服务器列表中集群服务器的信息;相应地,主服务器获取集群中多个集群服务器的负载参数,具体为:主服务器在集群服务器列表中获取集群中多个集群服务器的负载参数。
在本实施例中,主服务器更新集群服务器列表中集群服务器的信息,具体为:主服务器下载各集群服务器的日志文件,解析下载的日志文件,得到对应的集群服务器的被访问次数和所用流量,并将集群服务器列表中对应的集群服务器的被访问次数和所用流量更新为得到的被访问次数和所用流量;
更加具体地,主服务器解析下载的日志文件,得到对应的集群服务器的被访问次数和所用流量,具体为:主服务器解析下载日志文件,统计日志文件中访问记录的行数得到对应的集群服务器的被访问次数;读取日志文件中每行访问记录中最后一段数据类型的数据并求和得到对应的集群服务器的所用流量。
在本实施例中,步骤102还包括:当主服务器根据获取到的多个负载参数,在多个集群服务器中未查找到最优服务器时,返回错误码给客户端,结束;进一步地,当主服务器为管理服务器时,由应用服务器返回错误码给客户端,结束。
在本实施例中,负载参数可以为集群服务器在预设时间内的被访问次数;
相应地,步骤102具体为:主服务器获取集群中多个集群服务器在预设时间内的被访问次数,根据获取到的多个被访问次数,在多个集群服务器中确定最优服务器;
在本实施例中,根据获取到的多个被访问次数,在多个集群服务器中确定最优服务器,具体为:主服务器在获取到的多个被访问次数中选择最小被访问次数,将最小被访问次数对应的集群服务器作为最优服务器;
进一步地,在本实施例中,将最小被访问次数对应的集群服务器作为最优服务器之前,还包括:
步骤E:主服务器判断最小被访问次数是否小于预设访问次数阈值,是则将最小被访问次数对应的集群服务器作为最优服务器,否则确认根据获取到的多个负载参数,在多个集群服务器中未查找到最优服务器,返回错误码给客户端,结束。
更进一步地,在本实施例中,当步骤E判断为是时,还包括:
步骤e1:主服务器判断最小被访问次数对应的集群服务器的数量是否为一个,是则执行步骤e2,否则执行步骤e3;
步骤e2:主服务器根据最小被访问次数读取其对应的集群服务器的所用流量,并判断是否小于预设的流量阈值,是则将最小被访问次数对应的集群服务器作为最优服务器,否则确认根据获取到的多个负载参数,在多个集群服务器中未查找到最优服务器,返回错误码给客户端,结束;
步骤e3:主服务器根据最小被访问次数,读取其对应的多个集群服务器的所用流量,将读取到的所用流量中选择最小流量,判断最小流量是否小于预设流量阈值,是则将最小流量对应的集群服务器作为最优服务器,否则确认根据获取到的多个负载参数,在多个集群服务器中未查找到最优服务器,返回错误码给客户端,结束。
在本实施例中,当最小流量对应的集群服务器的数量大于一个时,主服务器随机选取其中一个集群服务器作为最优服务器。
在本实施例中,负载参数还可以为:集群服务器在预设时间内的所用流量;
相应地,步骤102具体为:主服务器获取集群中多个集群服务器在预设时间内的所用流量,根据获取到的多个所用流量,在多个集群服务器中确定最优服务器;
其中,根据获取到的多个所用流量,在多个集群服务器中确定最优服务器,具体为:主服务器在获取到的多个所用流量中选择最小流量,将最小流量对应的集群服务器作为最优服务器;
进一步地,在本实施例中,将最小流量对应的集群服务器作为最优服务器之前,还包括:
步骤T:主服务器判断最小流量是否小于预设流量阈值,是则将最小流量对应的集群服务器作为最优服务器,否则确认根据获取到的多个负载参数,在多个集群服务器中未查找到最优服务器,返回错误码给所述客户端,结束。
更进一步地,在本实施例中,当步骤T判断为是时,还包括:
步骤t1:主服务器判断最小流量对应的集群服务器的数量是否为一个,是则执行步骤t2,否则执行步骤t3;
步骤t2:主服务器根据最小流量读取其对应的集群服务器的被访问次数,并判断是否小于预设访问次数阈值,是则将最小流量对应的集群服务器作为最优服务器,否则确认根据获取到的多个负载参数,在多个集群服务器中未查找到最优服务器,返回错误码给客户端,结束;
步骤t3:主服务器根据最小流量,读取其对应的多个集群服务器的被访问次数,在读取到的被访问次数中选择最小被访问次数,判断最小被访问次数是否小于预设访问次数阈值,是则将最小被访问次数对应的集群服务器作为最优服务器,否则确认根据获取到的多个负载参数,在多个集群服务器中未查找到最优服务器,返回错误码给所述客户端,结束。
在本实施例中,当最小被访问次数对应的集群服务器的数量大于一个时,主服务器随机选取其中一个集群服务器作为最优服务器。
在本实施例中,负载参数还可以为:集群服务器在预设时间内的被访问次数和所用流量;
相应地,步骤102具体为:主服务器获取集群中多个集群服务器的被访问次数和所用流量,根据获取到的多个被访问次数和所用流量,在多个集群服务器中确定最优服务器;
在本实施例中,根据获取到的多个被访问次数和所用流量,在多个集群服务器中确定最优服务器,具体包括:
步骤F1:主服务器在获取到的多个被访问次数中选择最小被访问次数,在获取到的多个所用流量中选择最小流量;
步骤F2:主服务器根据最小被访问次数和所述最小流量,分别计算对应的集群服务器的负载并选择最小负载,将最小负载对应的集群服务器作为最优服务器。
在本实施例中,步骤F2之前,还包括:
步骤Y:主服务器判断最小被访问次数和最小流量是否小于对应的预设访问次数阈值和预设流量阈值,当判断其一为是时,将其对应的集群服务器作为最优服务器,当判断均为是时,执行步骤F2,当判断均为否时,确认根据获取到的多个负载参数,在多个集群服务器中未查找到最优服务器,返回错误码给客户端,结束。
进一步地,在本实施例中,步骤Y中,
当判断其一为是,具体为:判断出最小被访问次数小于预设访问次数阈值时,将最小被访问次数对应的集群服务器作为最优服务器之前,还包括:
步骤d1:主服务器判断最小被访问次数对应的集群服务器的数量是否为一个,是则执行步骤d2,否则执行步骤d3;
步骤d2:主服务器根据最小被访问次数读取其对应的集群服务器的所用流量,并判断是否小于预设流量阈值,是则将最小被访问次数对应的集群服务器作为最优服务器,否则确认根据获取到的多个负载参数,在多个集群服务器中未查找到最优服务器,返回错误码给客户端,结束;
步骤d3:主服务器根据最小被访问次数,读取其对应的多个集群服务器的所用流量,并判断是否小于预设流量阈值,当判断均为否时,确认根据获取到的多个负载参数,在多个集群服务器中未查找到最优服务器,返回错误码给客户端,结束,否则在小于预设流量阈值的所用流量中选择最小流量,将最小流量对应的服务器作为最优服务器;
当判断其一为是,具体为:判断出最小流量小于预设流量阈值时,将最小流量对应的集群服务器作为最优服务器之前,还包括:
步骤g1:主服务器判断最小流量对应的集群服务器的数量是否为一个,是则执行步骤g2,否则执行步骤g3;
步骤g2:主服务器根据最小流量读取其对应的集群服务器的被访问次数,并判断是否小于预设访问次数阈值,是则将最小流量对应的集群服务器作为最优服务器,否则确认根据获取到的多个负载参数,在多个集群服务器中未查找到最优服务器,返回错误码给客户端,结束;
步骤g3:主服务器根据最小流量,读取其对应的多个集群服务器的被访问次数,并判断是否小于预设访问次数阈值,当判断均为否时,确认根据获取到的多个负载参数,在多个集群服务器中未查找到最优服务器,返回错误码给客户端,结束,否则在小于预设访问次数阈值的被访问次数中选择最小被访问次数,将最小被访问次数对应的集群服务器作为最优服务器。
进一步地,在步骤d3中,当最小流量对应的集群服务器的数量大于一个时,主服务器随机选取其中一个集群服务器作为最优服务器;
在步骤g3中,当最小被访问次数对应的集群服务器的数量大于一个时,主服务器随机选取其中一个集群服务器作为最优服务器。
在本实施例中,当负载参数为:集群服务器在预设时间内的被访问次数和所用流量时,步骤102还可以为:
步骤H1:主服务器根据获取到的被访问次数和所用流量,计算对应的集群服务器的负载并保存;
步骤H2:主服务器在保存的负载中选择最小负载,将最小负载对应的集群服务器作为最优服务器。
在本实施例中,步骤H1之前,还包括:主服务器判断获取到的被访问次数和所用流量是否小于对应的预设访问次数阈值和预设流量阈值,当判断均为是时,执行步骤H1;
步骤H2之前,还包括:主服务器判断保存的负载的数量是否为零,是则确认根据获取到的多个负载参数,在多个集群服务器中未查找到最优服务器,返回错误码给客户端,结束,否则执行步骤H2;
进一步地,在本实施例中,当最小负载对应的集群服务器的数量大于一个时,主服务器随机选取其中一个集群服务器作为最优服务器。
更进一步地,在本实施例中,计算集群服务器的负载,具体为:
将集群服务器的所用流量除以预设基数得到的商再加上该集群服务器的被访问次数;
或者,
将集群服务器的所用流量与预设基数取余得到的商再加上该集群服务器的被访问次数。
例如:服务器的所用流量为60,访问量为20,预设的基数为每个访问量对应5M流量,则该服务器的负载为60/5+20=32。
步骤103:主服务器获取最优服务器的IP地址并发送给客户端,供客户端根据IP地址访问最优服务器。
在本实施例中,当主服务器具体为应用服务器时,步骤103中,主服务器获取最优服务器的IP地址并发送给客户端,具体为:应用服务器获取最优服务器的IP地址,根据获取到的IP地址组织连接请求应答数据,将连接请求应答数据发送给客户端;
在本实施例中,当主服务器具体为管理服务器时,管理服务器获取最优服务器的IP地址之后,还包括:管理服务器将获取到的IP地址发送给应用服务器,应用服务器根据IP地址组织连接请求应答数据并发送给客户端。
例如,管理服务器获取到的最优服务器的IP地址为192.168.17.42;
应用服务器根据IP地址组织连接请求应答数据为:{errcode:"0000",errmsg:"成功",ipaddress:"192.168.17.42"};
进一步地,在本实施例中,步骤103还可以为:主服务器获取最优服务器的IP地址,并根据IP地址发送连接请求给最优服务器。
实施例二
本发明实施例二提供一种分散服务器负载的方法,如图2所示,包括:
步骤201:客户端向应用服务器发送第一连接请求;
步骤202:应用服务器等待并接收客户端发送的第一连接请求;
例如,应用服务器接收到的客户端发送的第一连接请求为http://ip:port/reqtype=6。
步骤203:应用服务器获取集群服务器的被访问次数并从中选择最小被访问次数;
在本实施例中,应用服务器获取集群服务器的被访问次数,可以为:应用服务器访问数据库,在数据库中的集群服务器列表中获取集群服务器的被访问次数,其中集群服务器列表包含集群中的所有集群服务器的信息;
具体地,应用服务器与管理服务器共享数据库,并且由管理服务器更新集群服务器列表中集群服务器的信息。
在本实施例中,应用服务器获取集群服务器的被访问次数,还可以为:应用服务器访问共享文件,在共享文件中的集群服务器列表中获取集群服务器的被访问次数,其中集群服务器列表包含集群中的所有集群服务器的信息;
具体地,管理服务器更新集群服务器列表中的集群服务器的信息,并根据预设共享文件的存储地址,将更新过的集群服务器列表存储到共享文件中,应用服务器根据预设共享文件的存储地址,访问共享文件,在共享文件中的集群服务器列表中获取集群服务器的被访问次数。
在本实施例中,应用服务器获取集群服务器的被访问次数,还可以为:应用服务器发送获取列表请求给管理服务器,管理服务器接收到获取列表请求之后,将集群服务器列表发送给应用服务器;其中集群服务器列表包含集群中的所有集群服务器的信息,并且由管理服务器更新集群服务器列表中集群服务器的信息;
例如:应用服务器发送{reqtype:2},其中,预先约定当reqtype的值为2时,表示获取集群服务器列表。
除此之外,应用服务器还可以发送获取数据请求,管理服务器接收到获取数据请求之后,读取集群服务器列表中的相应数据,将读取到的数据发送给应用服务器。
进一步地,上述管理服务器更新集群服务器列表中集群服务器的信息,可以为:管理服务器每隔第一预设时间间隔轮询集群服务器列表并更新,具体包括:
步骤a1:管理服务器判断定时器的计时值是否到达更新集群服务器列表计时点,是则执行步骤a2,否则继续执行步骤a1;
在本实施例中,管理服务器根据定时器的计时值,每隔第一预设时间间隔,更新数据库中的集群服务器列表;
优选的,在本实施例中,第一预设时间间隔为1分钟。
步骤a2:管理服务器访问集群服务器列表,并将访问到的集群服务器作为当前集群服务器,执行步骤a3;
步骤a3:管理服务器下载当前集群服务器的日志文件;
具体地,管理服务器根据集群服务器列表中保存的当前集群服务器的日志文件的文件路径,查找到当前集群服务器的日志文件并下载;
进一步地,在本实施例中,集群中的每个集群服务器每隔第二预设时间间隔读取其各自的日志文件并进行压缩;具体地,集群服务器每隔第二预设时间间隔查找到其日志文件的最后一行,从后向前读取预设行数的访问记录,得到第二预设时间间隔内产生的访问记录,并将其进行压缩得到压缩格式的第一日志文件;其中,第二预设时间间隔小于且近似等于第一预设时间间隔,两者的时间差可忽略不计;
在本实施例中,步骤a3具体为:管理服务器下载当前集群服务器的第一日志文件。
步骤a4:管理服务器解析下载的日志文件,得到并保存当前集群服务器的负载参数;
在本实施例中,集群服务器的负载参数可以根据需求预先设定,还可以为访问记录中的所有信息,优选的,在本实施例中,集群服务器的负载参数具体为:集群服务器的被访问次数和所用流量,则步骤a4具体包括:
步骤a4-1:管理服务器解析下载的日志文件,得到并保存当前集群服务器的被访问次数;
在本实施例中,集群服务器日志文件中的每一行为一个访问记录;
步骤a4-1具体为:管理服务器解压缩其下载的第一日志文件,得到当前集群服务器的日志文件,统计日志文件中访问记录的行数即得到当前集群服务器的被访问次数,并根据当前集群服务器的标识将得到的被访问次数保存到集群服务器列表中当前集群服务器所在的行中的第一预定位置。
步骤a4-2:管理服务器解析下载的日志文件,得到并保存当前集群服务器的所用流量;
在本实施例中,服务器的日志文件中每一个访问记录都包含访问时间、访问IP、及所用流量等信息;
步骤a4-2具体为:管理服务器解析其解压缩得到的日志文件中的每一个访问记录,读取每一个访问所用的流量,并将读取到的所有流量相加,得到当前集群服务器的所用流量,并根据当前集群服务器的标识将得到的所用流量保存到集群服务器列表中当前集群服务器所在的行中的第二预定位置;
进一步地,管理服务器读取每一个访问所用的流量,具体为:管理服务器解析每一个访问记录,读取每一个访问记录中最后一段数字类型的数据,得到每一个访问所用的流量;
例如,在访问记录192.168.17.11--[23/Feb/2016:11:19:50+0800]"GET/bank_kl/node2/SC_Cardbin_Check_enc.txt HTTP/1.1"200 236中,管理服务器读取到该访问所用的流量为236字节;
更进一步地,在本实施例中,步骤a4-1和步骤a4-2的顺序可以对换。
步骤a5:管理服务器判断计时器的计时值是否到达停止更新集群服务器列表计时点,是则返回步骤a1,否则执行步骤a6;
在本实施例中,由步骤a5返回步骤a1之前,还包括:管理服务器设定更新标识;
在本实施例中,更新标识用来标识本次更新结束的位置,当管理服务器再次更新集群服务器列表时,查找到更新标识,并从带有更新标识的服务器的下一个服务器开始更新;
进一步地,在本实施例中,更新标识还可以用来标识再次更新的开始位置,当管理服务器再次更新集群服务器列表时,查找到更新标识,并从带有更新标识的服务器开始更新。
步骤a6:管理服务器继续访问集群服务器列表,并将访问到的集群服务器作为当前集群服务器,返回步骤a3;
在本实施例中,管理服务器更新集群服务器列表中集群服务器的信息,还可以为将集群服务器列表中的全部服务器的信息均更新完成之后,停止第一预设时间间隔,具体包括:
步骤b1:管理服务器访问集群服务器列表,并将访问到的集群服务器作为当前集群服务器,执行步骤b2;
步骤b2:管理服务器下载当前集群服务器的日志文件;
步骤b3:管理服务器解析下载的日志文件,得到并保存当前集群服务器的负载参数;
步骤b4:管理服务器判断当前集群服务器是否为最后一个集群服务器,是则停止第一预设时间间隔后返回步骤b1,否则将当前集群服务器的下一个集群服务器作为当前集群服务器,返回步骤b2。
在本实施例中,管理服务器更新集群服务器列表中集群服务器的信息,还可以为:
步骤c1:管理服务器加载集群中所有服务器节点,并对应开启分析线程;
具体地,管理服务器对集群中的每个集群服务器开启一个分析线程。
步骤c2:分析线程下载对应的服务器的日志文件,解析下载的日志文件,得到对应的集群服务器的负载参数,并保存到集群服务器列表中。
优选地,在本实施例中,应用服务器将获取到的多个集群服务器的被访问次数进行排序得到最小被访问次数;具体地:应用服务器调用集群服务器列表的排序函数接口,将集群服务器列表中第一预定位置中的数据进行排序,得到最小被访问次数;
在本实施例中,应用服务器将获取到的多个集群服务器的被访问次数进行排序可以为正序排序,也可以为逆序排序;优选的,在本实施例中,应用服务器将获取到的多个集群服务器的被访问次数进行正序排序;
更进一步地,在本实施例中,当管理服务器更新集群服务器列表中集群服务器的信息通过步骤a1至步骤a5来实现时,步骤203还包括:应用服务器判断集群服务器列表中是否有未更新的集群服务器,是则获取已更新的集群服务器的被访问次数,否则获取集群服务器列表中所有集群服务器的被访问次数。
步骤204:应用服务器判断最小被访问次数是否小于预设访问次数阈值,是则执行步骤205,否则返回错误码给客户端,返回步骤202;
步骤205:应用服务器判断最小被访问次数对应的集群服务器的数量是否为一个,是则执行步骤206,否则执行步骤207;
步骤206:应用服务器根据最小被访问次数读取其对应的集群服务器的所用流量,判断其是否小于预设流量阈值,是则将最小被访问次数对应的服务器作为最优服务器,执行步骤209,否则返回错误码给客户端,返回步骤202;
步骤207:应用服务器根据最小被访问次数,读取其对应的多个集群服务器的所用流量并从中选择最小流量;
具体地,应用服务器根据最小被访问次数查找到其对应的多个集群服务器,读取查找到的集群服务器所在的行中第二预定位置中的数据;优选地,应用服务器调用集群服务器列表的排序函数接口将读取到的数据进行排序,得到最小流量。
步骤208:应用服务器判断最小流量是否小于预设流量阈值,是则将其对应的集群服务器作为最优服务器,执行步骤209,否则返回错误码给客户端,返回步骤202;
进一步地,在本实施例中,当步骤207中最小流量对应的集群服务器的数量大于一个,且步骤208判断为是时,应用服务器随机选取其中的一个集群服务器作为最优服务器,执行步骤209。
步骤209:应用服务器获取最优服务器的IP地址;
具体地,应用服务器读取集群服务器列表中最优服务器所在的行中,第三预定置位中的数据,例如,读取到的IP地址为192.168.25.24。
步骤210:应用服务器根据获取到的IP地址组织连接请求应答数据,将连接请求应答数据发送给客户端;
优选的,在本实施例中,应用服务器得到的连接请求应答数据为:{errcode:"0000",errmsg:"成功",ipaddress:"192.168.25.24"}。
步骤211:客户端等待并接收应用服务器发送来的连接请求应答数据,解析接收到的连接请求应答数据得到最优服务器的IP地址;
在本实施例中,客户端解析上述连接请求应答数据,得到最优服务器的IP地址192.168.25.24。
步骤212:客户端根据得到的最优服务器的IP地址,向最优服务器发送第二连接请求,并判断是否接收到最优服务器返回的连接成功状态码,是则连接成功,结束;否则连接失败,返回步骤201。
优选的,在本实施例中,当客户端接收到最优服务器返回的状态码200时,确认连接成功,否则确认连接失败。
在本实施例中,应用服务器接收到第一连接请求之后,还可以为:应用服务器发送获取服务器请求给管理服务器,管理服务器接收到获取服务器请求之后,按照上述方法选取出最优服务器,并将最优服务器的IP地址发送给应用服务器,应用服务器根据接收到最优服务器的IP地址组织得到连接请求应答数据,将得到的连接请求应答数据发送给客户端。
例如,应用服务器发送{reqtype:1}给管理服务器,其中,预先约定当reqtype的值为1时,表示获取最优服务器;
管理服务器返回{rescode:0000,resmsg:“返回成功”,ip:“192.168.17.42”},其中,最优服务器的IP地址为192.168.17.42;
应用服务器得到的连接请求应答数据为:{errcode:"0000",errmsg:"成功",ipaddress:"192.168.17.42"};
进一步地,在本实施例中,当应用服务器获取到最优服务器的IP地址之后,还可以为:应用服务器发送第一连接请求给最优服务器。
本实施例所述的方法中,以负载参数为集群服务器的被访问次数为主,集群服务器的所用流量为附加条件,选取出最优服务器,并将最优服务器的访问方式发送给客户端,来达到分散集群中集群服务器负载的目的。
实施例三
本发明实施例三提供一种分散服务器负载的方法,如图3所示,包括:
步骤301:客户端向应用服务器发送第一连接请求;
步骤302:应用服务器等待并接收客户端发送的第一连接请求;
例如,应用服务器接收到的客户端发送的连接请求为http://ip:port/reqtype=6。
步骤303:应用服务器获取集群服务器的所用流量并从中选择最小流量;
在本实施例中,应用服务器获取集群服务器的所用流量,可以为:应用服务器访问数据库,在数据库中的集群服务器列表中获取集群服务器的被访问次数,其中集群服务器列表包含集群中的所有集群服务器的信息;
具体地,应用服务器与管理服务器共享数据库,并且由管理服务器更新集群服务器列表中集群服务器的信息。
在本实施例中,应用服务器获取集群服务器的所用流量,还可以为:应用服务器访问共享文件,在共享文件中的集群服务器列表中获取集群服务器的所用流量,其中集群服务器列表包含集群中的所有集群服务器的信息;
具体地,管理服务器更新集群服务器列表中的集群服务器的信息,并根据预设共享文件的存储地址,将更新过的集群服务器列表存储到共享文件中,应用服务器根据预设共享文件的存储地址访问共享文件,在共享文件中的集群服务器列表中获取集群服务器的所用流量。
在本实施例中,应用服务器获取集群服务器的所用流量,还可以为:应用服务器发送获取列表请求给管理服务器,管理服务器接收到获取列表请求之后,将集群服务器列表发送给应用服务器;其中,集群服务器列表包含集群中的所有集群服务器的信息,并且由管理服务器更新集群服务器列表中集群服务器的信息;
例如:应用服务器发送{reqtype:2},其中,预先约定当reqtype的值为2时,表示获取集群服务器列表。
除此之外,应用服务器还可以发送获取数据请求,管理服务器接收到获取数据请求之后,读取集群服务器列表中的相应数据,将读取到的数据发送给应用服务器;
在本实施例中,上述管理服务器更新集群服务器列表中集群服务器的信息的方法同实施例一中所述的方法相同,在此不再赘述。
步骤304:应用服务器判断最小流量是否小于预设流量阈值,是则执行步骤305,否则返回错误码给客户端,返回步骤302;
步骤305:应用服务器判断最小流量对应的集群服务器的数量是否为一个,是则执行步骤306,否则执行步骤307;
步骤306:应用服务器根据最小流量读取其对应的集群服务器的被访问次数,判断其是否小于预设访问次数阈值,是则将最小流量对应的集群服务器作为最优服务器,执行步骤309,否则返回错误码给客户端,返回步骤302;
步骤307:应用服务器根据最小流量,读取其对应的多个集群服务器的被访问次数并从中选择最小被访问次数;
具体地,应用服务器根据最小流量查找到其对应的多个集群服务器,读取查找到的集群服务器所在的行中第一预定位置中的数据;优选地,应用服务器调用集群服务器列表的排序函数接口将读取到的数据进行排序,得到最小被访问次数。
步骤308:应用服务器判断最小被访问次数是否小于预设访问次数阈值,是则将其对应的集群服务器作为最优服务器,执行步骤309,否则返回错误码给客户端,返回步骤302;
进一步地,在本实施例中,当步骤307中最小被访问次数对应的集群服务器的数量大于一个,且步骤308中判断为是时,应用服务器随机选取其中的一个集群服务器作为最优服务器,执行步骤309。
步骤309:应用服务器获取最优服务器的IP地址;
具体地,应用服务器读取集群服务器列表中最优服务器所在的行中,第三预定置位中的数据,例如,读取到的IP地址为192.168.25.24。
步骤310:应用服务器根据获取到的IP地址组织连接请求应答数据,将连接请求应答数据发送给客户端;
优选的,在本实施例中,应用服务器得到的连接请求应答数据为:{errcode:"0000",errmsg:"成功",ipaddress:"192.168.25.24"}。
步骤311:客户端等待并接收应用服务器发送来的连接请求应答数据,解析接收到的连接请求应答数据得到最优服务器的IP地址;
在本实施例中,客户端解析上述连接请求应答数据,得到最优服务器的IP地址192.168.25.24。
步骤312:客户端根据得到的最优服务器的IP地址,向最优服务器发送第二连接请求,并判断是否接收到最优服务器返回的连接成功状态码,是则连接成功,结束;否则连接失败,返回步骤301。
优选的,在本实施例中,当客户端接收到最优服务器返回的状态码200时,确认连接成功,否则确认连接失败。
在本实施例中,应用服务器接收到第一连接请求之后,还可以为:应用服务器发送获取服务器请求给管理服务器,管理服务器接收到获取服务器请求之后,按照上述方法选取出最优服务器,并将最优服务器的IP地址发送给应用服务器,应用服务器根据接收到最优服务器的IP地址组织得到连接请求应答数据,将得到的连接请求应答数据发送给客户端。
例如,应用服务器发送{reqtype:1}给管理服务器,其中,预先约定当reqtype的值为1时,表示获取最优服务器;
管理服务器返回{rescode:0000,resmsg:“返回成功”,ip:“192.168.17.42”},其中,最优服务器的IP地址为192.168.17.42;
应用服务器得到的连接请求应答数据为:{errcode:"0000",errmsg:"成功",ipaddress:"192.168.17.42"};
进一步地,在本实施例中,当应用服务器获取到最优服务器的IP地址之后,还可以为:应用服务器发送第一连接请求给最优服务器。
本实施例所述的方法中,以负载参数为集群服务器的所用流量为主,被访问次数为附加条件选取出最优服务器,并将最优服务器的访问方式发送给客户端,来达到分散集群中集群服务器负载的目的。
实施例四
本发明实施例四提供一种分散服务器负载的方法,如图4所示,包括:
步骤401:客户端向应用服务器发送第一连接请求;
步骤402:应用服务器等待并接收客户端发送的第一连接请求;
例如,应用服务器接收到的客户端发送的第一连接请求为http://ip:port/reqtype=6。
步骤403:应用服务器访问集群服务器列表,并将访问到的第一个集群服务器作为当前集群服务器;
在本实施例中,应用服务器访问集群服务器列表,可以为:应用服务器与管理服务器共享数据库,应用服务器访问数据库进而访问集群服务器列表;其中管理服务器更新集群服务器列表中集群服务器的信息;
在本实施例中,应用服务器访问集群服务器列表,还可以为:应用服务器根据共享文件的预设存储地址访问共享文件,进而访问集群服务器列表;其中管理服务器更新集群服务器列表中集群服务器的信息,并根据共享文件的预设存储地址将更新过的集群服务器列表保存到共享文件中;
在本实施例中,应用服务器访问集群服务器列表,还可以为:应用服务器发送获取信息文件请求给管理服务器,管理服务器接收到获取信息文件请求之后,将集群服务器列表发送给应用服务器;其中管理服务器更新集群服务器列表中集群服务器的信息;
例如,应用服务器发送{reqtype:2},其中,预先约定当reqtype的值为2时,表示获取集群服务器列表;
除此之外,应用服务器还可以发送获取数据请求,管理服务器接收到获取数据请求之后,读取集群服务器列表中的相应数据,将读取到的数据发送给应用服务器。
上述管理服务器更新集群服务器列表中集群服务器的信息的方法同实施例一中所述的方法相同,在此不再赘述。
步骤404:应用服务器读取当前集群服务器的被访问次数,并判断是否小于预设访问次数阈值,是则执行步骤405,否则执行步骤407;
在本实施例中,应用服务器读取当前集群服务器的被访问次数,具体为:应用服务器读取集群服务器列表中当前集群服务器所在的行中第一预定位置中的数据;
进一步地,在本实施例中,当集群中的所有集群服务器的被访问次数均大于预设的访问次数阈值时,应用服务器返回错误码给客户端,返回步骤402。
步骤405:应用服务器读取当前集群服务器的所用流量,并判断是否小于预设流量阈值,是则执行步骤406,否则步骤407;
在本实施例中,应用服务器读取当前集群服务器的所用流量,具体为:应用服务器读取集群服务器列表中当前集群服务器所在的行中第二预定位置中的数据;
进一步地,在本实施例中,当集群中的所有集群服务器所用的流量均大于预设流量阈值时,应用服务器返回错误码给客户端,返回步骤402。
步骤406:应用服务器计算当前集群服务器的负载并保存;
具体地,应用服务器将读取到的当前集群服务器的所用流量除以预设基数,再加上读取到的当前集群服务器的被访问次数,得到当前集群服务器的负载并将其保存到集群服务器列表中当前集群服务器所在的行中第四预定位置;
例如,应用服务器读取到的当前集群服务器的被访问次数为15,所用流量为75M,预设基数为5,则计算得到当前集群服务器的负载为75/5+15=30,将30保存到集群服务器列表中当前集群服务器所在的行中第四预定位置。
步骤407:应用服务器判断当前集群服务器是否为最后一个集群服务器,是则执行步骤408,否则访问下一个集群服务器并将其作为当前集群服务器,返回步骤404;
进一步地,在本实施例中,当管理服务器更新集群服务器列表中集群服务器的信息通过步骤a1至步骤a6来实现时,当集群服务器列表中有未更新的集群服务器时,步骤407具体为:应用服务器判断当前集群服务器是否为已更新的最后一个集群服务器,是则执行步骤408,否则访问下一个已更新的集群服务器并作为当前集群服务器,返回步骤404;
当集群服务器列表中的集群服务器信息均被更新过时,步骤407具体为:应用服务器判断当前集群服务器是否为集群服务器列表中的最后一个集群服务器,是则执行步骤408,否则访问下一个集群服务器并将其作为当前集群服务器,返回步骤404。
步骤408:应用服务器在保存的负载中选择最小负载,将最小负载对应的服务器作为最优服务器;
优选地,应用服务器调用集群服务器列表的排序函数接口,将集群服务器列表中第四预定位置中的数据进行排序,得到最小负载;
进一步地,应用服务器将保存的负载进行排序可以为正序排序,也可以为逆序排序,优选的,在本实施例中,应用服务器将保存的负载进行正序排序。
步骤409:应用服务器获取最优服务器的IP地址;
具体地,应用服务器读取集群服务器列表中最优服务器所在的行中第三预定位置中的数据,例如,读取到的IP地址为192.168.25.24。
步骤410:应用服务器根据读取到的IP地址组织连接请求应答数据,将连接请求应答数据发送给客户端;
优选的,在本实施例中,应用服务器得到的连接请求应答数据为:{errcode:"0000",errmsg:"成功",ipaddress:"192.168.25.24"}。
步骤411:客户端等待并接收应用服务器发送来的连接请求应答数据,解析接收到的连接请求应答数据得到最优服务器的IP地址;
在本实施例中,客户端解析上述连接请求应答数据,得到最优服务器的IP地址192.168.25.24。
步骤412:客户端根据得到的最优服务器的IP地址,向最优服务器发送第二连接请求,并判断是否接收到最优服务器返回的连接成功状态码,是则连接成功,结束;否则连接失败,返回步骤401。
优选的,在本实施例中,当客户端接收到最优服务器返回的状态码200时,确认连接成功,否则确认连接失败。
在本实施例中,应用服务器接收到第一连接请求之后,还可以为:发送获取服务器请求给管理服务器,管理服务器接收到获取服务器请求之后,按照上述方法得到最优服务器,并将最优服务器的IP地址发送给应用服务器,应用服务器根据接收到最优服务器的IP地址组织得到连接请求应答数据,将得到的连接请求应答数据发送给客户端;
进一步地,在本实施例中,当应用服务器获取到最优服务器的IP地址之后,还可以为:应用服务器发送第一连接请求给最优服务器。
本实施例所述的方法中,根据集群服务器的被访问次数和所用流量计算其负载,通过比较计算得到的负载得到最优服务器,并将最优服务器的访问方式发送给客户端,来达到分散集群中集群服务器的负载的目的。
实施例五
本发明实施例五提供一种分散服务器负载的方法,如图5所示,包括:
步骤501:客户端向应用服务器发送第一连接请求;
步骤502:应用服务器等待并接收客户端发送的第一连接请求;
例如,应用服务器接收到的客户端发送的连接请求为http://ip:port/reqtype=6。
步骤503:应用服务器获取集群服务器的被访问次数并从中选择最小被访问次数;
在本实施例中,应用服务器获取集群服务器的被访问次数的方法同实施例二中所述的方法相同,在此不再赘述;
优选地,应用服务器调用集群服务器列表的排序函数接口,将集群服务器列表中第一预定位置中的数据进行排序,得到最小被访问次数;
在本实施例中,应用服务器将集群服务器的被访问次数进行排序可以为正序排序,也可以为逆序排序;优选的,在本实施例中,应用服务器将集群服务器的被访问次数进行正序排序;
进一步地,在本实施例中,管理服务器更新集群服务器列表中集群服务器的信息的方法同实施例一中所述的方法相同,当管理服务器更新集群服务器列表中的服务器信息通过步骤a1至步骤a6来实现时,步骤503还包括:应用服务器判断集群服务器列表中是否有未更新的集群服务器,是则将已更新的集群服务器的被访问次数进行排序,否则将集群服务器列表中所有集群服务器的被访问次数进行排序。
步骤504:应用服务器判断最小被访问次数是否小于预设访问次数阈值,是则执行步骤505,否则发送错误码给客户端,返回步骤502;
步骤505:应用服务器根据最小被访问次数读取其对应的集群服务器的所用流量,并判断是否小于预设流量阈值,是则执行步骤506,否则返回错误码给客户端,返回步骤502:
在本实施例中,应用服务器根据最小被访问次数读取其对应的服务器的所用流量,具体为:应用服务器根据最小被访问次数在集群服务器列表中查找到对应的集群服务器,读取查找到的集群服务器所在的行中第二预定位置中的数据;
进一步地,当步骤503中最小被访问次数对应的集群服务器的数量大于一个时,步骤505具体为:
步骤c1:应用服务器根据被访问次数排序后的自然顺序,读取第一个最小被访问次数作为当前最小被访问次数;
步骤c2:应用服务器根据当前最小被访问次数读取其对应的集群服务器的所用流量,并判断是否大于预设流量阈值,是则放弃该集群服务器,执行步骤c3,否则执行步骤c3;
步骤c3:应用服务器判断当前最小被访问次数是否为最后一个最小被访问次数,是则执行步骤506,否则将下一个最小被访问次数作为当前最小被访问次数,返回步骤c2。
步骤506:应用服务器获取集群服务器的所用流量并从中选择最小流量;
在本实施例中,应用服务器获取集群服务器的所用流量的方法同实施例三中所述的方法相同,在此不再赘述;
优选地,应用服务器调用集群服务器列表的排序函数接口,将集群服务器列表中第二预定位置中的数据进行排序,得到最小流量;
在本实施例中,应用服务器将集群服务器的所用流量统计进行排序可以为正序排序,也可以为逆序排序;优选的,在本实施例中,应用服务器将集群服务器的所用流量进行正序排序;
进一步地,在本实施例中,当管理服务器更新集群服务器列表中集群服务器的信息通过执行步骤a1至步骤a6实现时,步骤507还包括:应用服务器判断集群服务器列表中是否有未更新的集群服务器,是则获取已更新的集群服务器的所用流量,否则获取集群服务器列表中所有集群服务器的所用流量。
步骤507:应用服务器判断最小流量是否小于预设流量阈值,是则执行步骤508,否则发送错误码给客户端,返回步骤502;
步骤508:应用服务器根据最小流量读取其对应的集群服务器的被访问次数,并判断是否小于预设访问次数阈值,是则执行步骤509,否则返回错误码给客户端,返回步骤502;
在本实施例中,应用服务器根据最小流量读取其对应的服务器的被访问次数,具体为:应用服务器根据最小流量在集群服务器列表中查找到其对应的集群服务器,读取查找到的集群服务器所在的行中第一预定位置中的数据;
进一步地,在本实施例中,当步骤506中,排序得到最小流量对应多个集群服务器时,步骤508具体为:
步骤b1:应用服务器根据最小流量排序后的自然顺序,读取第一个最小流量作为当前最小流量;
步骤b2:应用服务器根据当前最小流量读取其对应的集群服务器的被访问次数,并判断是否大于预设访问次数阈值,是则放弃该服务器,执行步骤b3,否则执行步骤b3;
步骤b3:应用服务器判断当前最小流量是否为最后一个最小流量,是则执行步骤509,否则将下一个最小流量作为当前最小流量,返回步骤b2。
步骤509:应用服务器判断当前剩余集群服务器的数量,当剩余集群服务器的数量为零时,返回错误码给客户端,返回步骤502;当剩余集群服务器的数量为一个时,将剩余集群服务器作为最优服务器,执行步骤512,当剩余集群服务器的数量大于一个时,执行步骤510;
步骤510:应用服务器计算当前剩余集群服务器的负载并保存;
具体地,当剩余集群服务器为最小被访问次数对应的集群服务器时,步骤510具体为:应用服务器将根据最小被访问次数读取到的所用流量除以预设基数,再加上该最小被访问次数,得到该最小被访问次数对应的集群服务器的负载,并保存到集群服务器列表中该集群服务器所在的行中第四预定位置中;
例如,最小被访问次数为15,根据最小被访问次数读取到的所用流量为75M,预设基数为5,则计算得到该最小被访问次数对应的集群服务器的负载为75/5+15=30。
当剩余集群服务器为最小流量对应的服务器时,步骤510具体为:应用服务器将最小流量除以预设基数,再加上根据该最小流量读取到的被访问次数,得到该最小流量对应的集群服务器的负载,并保存到集群服务器列表中该集群服务器所在的行中第四预定位置中;
例如,最小流量为40,根据最小流量读取到的被访问次数为20,预设基数为5,则计算得到该最小流量对应的集群服务器的负载为40/5+20=28。
步骤511:应用服务器在保存的负载中选择最小负载,并将最小负载对应的集群服务器作为最优服务器,执行步骤512;
优选地,应用服务器调用集群服务器列表的排序函数接口,将集群服务器列表中第四预定位置中的数据进行排序,得到最小负载;
进一步地,当最小负载对应多个集群服务器时,应用服务器随机选取其中的一个集群服务器作为最优服务器,执行步骤512。
步骤512:应用服务器获取最优服务器的IP地址;
具体地,应用服务器在集群服务器列表中读取最优服务器所在的行中第三预定位置中的数据,例如,读取到的IP地址为192.168.25.24。
步骤513:应用服务器根据读取到的最优服务器的IP地址组织连接请求应答数据,将连接请求应答数据发送给客户端;
优选的,在本实施例中,应用服务器得到的连接请求应答数据为:{errcode:"0000",errmsg:"成功",ipaddress:"192.168.25.24"}。
步骤514:客户端等待并接收应用服务器发送来的连接请求应答数据,解析接收到的连接请求应答数据得到最优服务器的IP地址;
在本实施例中,客户端解析上述连接请求应答数据,得到最优服务器的IP地址192.168.25.24。
步骤515:客户端根据得到的最优服务器的IP地址,向最优服务器发送第二连接请求,并判断是否接收到最优服务器返回的连接成功状态码,是则连接成功,结束,否则连接失败,返回步骤501。
优选的,在本实施例中,当客户端接收到最优服务器返回的状态码200时,确认连接成功,否则确认连接失败。
在本实施例中,应用服务器接收到第一连接请求之后,还可以为:应用服务器发送获取最优服务器请求给管理服务器,管理服务器按照上述方法选取出最优服务器,并将最优服务器的IP地址发送给应用服务器,应用服务器根据接收到最优服务器的IP地址组织得到连接请求应答数据,将得到的连接请求应答数据发送给客户端。
例如:应用服务器发送{reqtype:1}给管理服务器,其中,预先约定当reqtype的值为1时,表示获取最优服务器;
管理服务器返回{rescode:0000,resmsg:“返回成功”,ip:“192.168.17.42”},其中,最优服务器的IP地址为192.168.17.42;
应用服务器得到的连接请求应答数据为:{errcode:"0000",errmsg:"成功",ipaddress:"192.168.17.42"};
进一步地,在本实施例中,当应用服务器获取到最优服务器的IP地址之后,还可以为:应用服务器发送第一连接请求给最优服务器。
本实施例所述的方法中,根据集群服务器的被访问次数和所用流量分别得到可选服务器,并对可选服务器的负载进行比较得到最优服务器,将最优服务器的访问方式发送给客户端,来达到分散集群中服务器负载的目的。
实施例六
本发明实施例六提供一种分散服务器负载的装置,如图6所示,包括:
接收模块601,用于接收请求;
第一获取模块602,用于获取集群中多个集群服务器的负载参数;
选择模块603,用于根据第一获取模块602获取到的多个集群服务器的负载参数,在多个集群服务器中确定最优服务器;
第二获取模块604,用于获取选择模块603确定的最优服务器的IP地址;
发送模块605,用于将第二获取到的IP地址发送给客户端,供客户端根据IP地址访问最优服务器。
本实施例中的装置,还包括:更新模块,用于更新集群服务器列表中集群服务器的信息;
相应地,第一获取模块602,具体用于在集群服务器列表中获取集群中多个集群服务器的负载参数。
在本实施例中,更新模块,具体包括:
下载子模块,用于下载各集群服务器的日志文件;
解析子模块,用于解析下载子模块下载的日志文件,得到对应的集群服务器的被访问次数和所用流量;
更新子模块,用于将集群服务器列表中所述对应的集群服务器的被访问次数和所用流量更新为解析子模块得到的被访问次数和所用流量。
在本实施例中,解析子模块,具体用于:解析下载子模块下载的日志文件,统计日志文件中访问记录的行数得到对应的集群服务器的被访问次数;读取日志文件中每行访问记录中最后一段数据类型的数据并求和得到对应的集群服务器的所用流量。
在本实施例中,发送模块605,还用于当选择模块603根据第一获取模块602获取到的多个负载参数,在多个集群服务器中未查找到最优服务器时,返回错误码给客户端,结束。
在本实施例中,集群服务器的负载参数,可以为:集群服务器在预设时间内的被访问次数;
相应地,第一获取模块602,具体用于:获取集群中多个集群服务器在预设时间内的被访问次数;
选择模块603,具体用于:根据第一获取模块602获取到的多个被访问次数,在多个集群服务器中确定最优服务器。
具体地,选择模块603,包括:
第一选择子模块,用于在第一获取模块602获取到的多个被访问次数中选择最小被访问次数;
第一作为子模块,用于将最小被访问次数对应的服务器作为最优服务器。
在本实施例中,选择模块603,还包括:
第一判断子模块,用于第一作为子模块将最小被访问次数对应的集群服务器作为最优服务器之前,判断最小被访问次数是否小于预设访问次数阈值;
第一作为子模块,具体用于当第一判断子模块判断出最小被访问次数小于预设访问次数阈值时,将最小被访问次数对应的集群服务器作为最优服务器;
发送模块605,具体用于当第一判断子模块判断出最小被访问次数不小于预设访问次数阈值时,确认选择模块603根据第一获取模块602获取到的多个负载参数,在多个集群服务器中未查找到最优服务器,返回错误码给客户端,结束。
在本实施例中,选择模块603,还包括:
第二判断子模块,用于当第一判断子模块判断出最小被访问次数小于预设访问次数阈值时,判断最小被访问次数对应的集群服务器的数量是否为一个;
第三判断子模块,用于当第二判断子模块判断出最小被访问次数对应的集群服务器的数量是一个时,根据最小被访问次数读取其对应的集群服务器的所用流量,并判断是否小于预设的流量阈值;
第一作为子模块,具体用于当第三判断子模块判断出根据所述最小被访问次数读取到的所用流量小于预设的流量阈值时,将最小被访问次数对应的集群服务器作为最优服务器;
第一选择判断子模块,用于当第二判断子模块判断出最小被访问次数对应的集群服务器的数量不是一个时,根据最小被访问次数,读取其对应的多个集群服务器的所用流量,在读取到的所用流量中选择最小流量,判断最小流量是否小于预设流量阈值;
第一作为子模块,还用于当第一选择判断子模块判断出最小流量小于预设流量阈值时,将最小流量对应的集群服务器作为最优服务器;
在本实施例中,发送模块605,还用于当第三判断子模块判断出根据最小被访问次数读取到的所用流量不小于预设流量阈值时,确认选择模块603根据第一获取模块602获取到的多个负载参数,在多个集群服务器中未查找到最优服务器,返回错误码给客户端,结束;还用于当第一选择判断子模块判断出最小流量不小于预设流量阈值时,确认选择模块603根据第一获取模块602获取到的多个负载参数,在多个集群服务器中未查找到最优服务器,返回错误码给客户端,结束。
在本实施例中,第一作为子模块,还用于当最小流量对应的集群服务器的数量大于一个时,随机选取其中一个集群服务器作为最优服务器。
在本实施例中,集群服务器的负载参数,还可以为:集群服务器在预设时间内的所用流量;
相应地,第一获取模块602,具体用于:获取集群中多个集群服务器在预设时间内的所用流量;
选择模块603,具体用于:根据第一获取模块602获取到的多个所用流量,在多个集群服务器中确定最优服务器。
具体地,选择模块603,包括:
第二选择子模块,用于在获取到的多个所用流量中选择最小流量;
第二作为子模块,用于将最小流量对应的集群服务器作为最优服务器。
在本实施例中,选择模块603,还包括:
第四判断子模块,用于第二作为子模块将最小流量对应的集群服务器作为最优服务器之前,判断最小流量是否小于预设流量阈值;
第二作为子模块,具体用于当第四判断子模块判断出最小流量小于预设流量阈值时,将最小流量对应的集群服务器作为最优服务器;
发送模块605,具体用于当第四判断子模块判断出最小流量不小于预设流量阈值时,确认选择模块603根据第一获取模块602获取到的多个负载参数,在多个集群服务器中未查找到最优服务器,返回错误码给客户端,结束。
在本实施例中,选择模块603,还包括:
第五判断子模块,用于第四判断子模块判断出最小流量小于预设流量阈值时,判断最小流量对应的集群服务器的数量是否为一个;
第二读取判断子模块,具体用于当第五判断子模块判断出最小流量对应的集群服务器的数量是一个时,根据最小流量读取其对应的集群服务器的被访问次数,并判断是否小于预设访问次数阈值;
第二作为子模块,具体用于当第二读取判断子模块判断出根据所述最小流量读取到的被访问次数小于预设访问次数阈值时,将最小流量对应的集群服务器作为最优服务器;
选择判断子模块,用于当第五判断子模块判断出最小流量对应的集群服务器的数量不是一个时,根据最小流量,读取其对应的多个集群服务器的被访问次数,在读取到的被访问次数中选择最小被访问次数,判断最小被访问次数是否小于预设访问次数阈值;
第二作为子模块,具体用于当选择判断子模块判断出最小被访问次数小于预设访问次数阈值时,将最小被访问次数对应的集群服务器作为最优服务器;
在本实施例中,发送模块605,还用于当第二读取判断子模块判断出根据最小流量读取到的被访问次数不小于预设访问次数阈值时,确认选择模块603根据第一获取模块602获取到的多个负载参数,在多个集群服务器中未查找到最优服务器,返回错误码给客户端,结束;还用于当选择判断子模块判断出最小被访问次数不小于预设访问次数阈值时,确认选择模块603根据第一获取模块602获取到的多个负载参数,在多个集群服务器中未查找到最优服务器,返回错误码给客户端,结束。
在本实施例中,第二作为子模块,还用于当最小被访问次数对应的集群服务器的数量大于一个时,随机选取其中一个集群服务器作为最优服务器。
在本实施例中,集群服务器的负载参数,还可以为:集群服务器的被访问次数和所用流量;
相应地,第一获取模块602,具体用于:获取集群中多个集群服务器的被访问次数和所用流量;
选择模块603,具体用于:根据第一获取模块602获取到的多个被访问次数和所用流量,在多个集群服务器中确定最优服务器。
在本实施例中,选择模块603,具体包括:
第三选择子模块,用于在第一获取模块602获取到的多个被访问次数中选择最小被访问次数,在第一获取模块602获取到的多个所用流量中选择最小流量;
计算子模块,用于根据第三选择子模块选择的最小被访问次数和最小流量,分别计算对应的集群服务器的负载并从中选择最小负载;
第三作为子模块,用于将最小负载对应的集群服务器作为最优服务器。
在本实施例中,选择模块603,还包括:
第六判断子模块,用于判断最小被访问次数和最小流量是否小于对应的预设访问次数阈值和预设流量阈值;
第三作为子模块,还用于当第六判断子模块判断出其一为是时,将其对应的集群服务器作为最优服务器;
计算子模块,具体用于当第六判断子模块判断出均为是时,根据选择子模块选择的最小被访问次数和最小流量,分别计算对应的集群服务器的负载并从中选择最小负载;
发送模块605,具体用于:当第六判断子模块出均为否时,确认选择模块603根据第一获取模块602获取到的多个负载参数,在多个集群服务器中未查找到最优服务器,返回错误码给客户端,结束。
在本实施例中,选择模块603,还包括:
第七判断子模块,用于当第六判断子模块判断其一为是,具体为:判断出最小被访问次数小于预设访问次数阈值时,第三作为子模块将最小被访问次数对应的集群服务器作为最优服务器之前,判断最小被访问次数对应的集群服务器的数量是否为一个;
第八判断子模块,用于当第七判断子模块判断出最小被访问次数对应的集群服务器的数量是一个时,根据最小被访问次数读取其对应的集群服务器的所用流量,并判断是否小于预设流量阈值;
第三作为子模块,具体用于当第八判断子模块判断出根据最小被访问次数读取到的所用流量小于预设流量阈值时,将最小被访问次数对应的集群服务器作为最优服务器;
发送模块605,还用于当第八判断子模块判断出根据最小被访问次数读取到的所用流量不小于预设流量阈值时,确认选择模块603根据第一获取模块602获取到的多个负载参数,在多个集群服务器中未查找到最优服务器,返回错误码给客户端,结束;
第九判断子模块,用于当第七判断子模块判断出最小被访问次数对应的集群服务器的数量不是一个时,根据最小被访问次数,读取其对应的多个集群服务器的所用流量,并判断是否小于预设流量阈值;
在本实施例中,发送模块605,还用于当第九判断子模块判断出均为否时,确认选择模块603根据第一获取模块602获取到的多个负载参数,在多个集群服务器中未查找到最优服务器,返回错误码给客户端,结束;
在本实施例中,第三选择子模块,还用于当第九判断子模块判断出不均为否时,在小于预设流量阈值的所用流量中选择最小流量;
第三作为子模块,具体用于将第三选择子模块选择的最小流量对应的服务器作为最优服务器;
第十判断子模块,用于当第六判断子模块判断其一为是,具体为:判断出最小流量小于预设流量阈值时,第三作为子模块将最小流量对应的集群服务器作为最优服务器之前,判断最小流量对应的集群服务器的数量是否为一个;
第十一判断子模块,用于当第十判断子模块判断出最小流量对应的集群服务器的数量是一个时,根据最小流量读取其对应的集群服务器的被访问次数,并判断是否小于预设访问次数阈值;
第三作为子模块,具体用于当第十一判断子模块判断出根据最小流量读取到的被访问次数小于预设访问次数阈值时,将最小流量对应的集群服务器作为最优服务器;
在本实施例中,发送模块605,还用于当第十一判断模块判断出根据最小流量读取到的被访问次数不小于预设访问次数阈值时,确认选择模块603根据第一获取模块602获取到的多个负载参数,在多个集群服务器中未查找到最优服务器,返回错误码给客户端,结束;
第十二判断子模块,用于当第十判断子模块判断出最小流量对应的集群服务器的数量不是一个时,根据最小流量,读取其对应的多个集群服务器的被访问次数,并判断是否小于预设访问次数阈值;
在本实施例中,发送模块605,还用于当第十二判断子模块判断出均为否时,确认选择模块603根据第一获取模块602获取到的多个负载参数,在多个集群服务器中未查找到最优服务器,返回错误码给客户端,结束;
在本实施例中,第三选择子模块,还用于当第十二判断子模块判断出不均为否时,在小于预设访问次数阈值的被访问次数中选择最小被访问次数;
第三作为子模块,具体用于将第三选择子模块选择的最小被访问次数对应的集群服务器作为最优服务器。
进一步地,在本实施例中,第三作为子模块,还用于当最小流量对应的集群服务器的数量大于一个时,随机选取其中一个集群服务器作为最优服务器;还用于当最小被访问次数对应的集群服务器的数量大于一个时,随机选取其中一个集群服务器作为最优服务器。
在本实施例中,当集群服务器的负载参数,具体为:集群服务器的被访问次数和所用流量时,选择模块603,还可以具体包括:
计算子模块,用于根据第一获取模块602获取到的被访问次数和所用流量,计算对应的集群服务器的负载并保存;
第四选择子模块,用于在保存的负载中选择最小负载;
第四作为子模块,用于将第四选择子模块选择的最小负载对应的集群服务器作为最优服务器。
进一步地,在本实施例中,选择模块603,还包括:
第十三判断子模块,用于计算子模块根据获取到的被访问次数和所用流量,计算对应的集群服务器的负载并保存之前,判断第一获取模块602获取到的被访问次数和所用流量是否小于对应的预设访问次数阈值和预设流量阈值;
计算子模块,具体用于当第十三判断子模块判断出均为是时,根据获取到的被访问次数和所用流量,计算对应的集群服务器的负载并保存。
更进一步地,在本实施例中,选择模块603,还包括:
第十四判断子模块,用于第四选择子模块在保存的负载中选择最小负载之前,判断保存的负载的数量是否为零;
发送模块605,具体用于:当第十四判断子模块判断出保存的负载的数量为零时,确认选择模块603根据第一获取模块602获取到的多个负载参数,在多个集群服务器中未查找到最优服务器,返回错误码给客户端,结束;
第四选择子模块,具体用于当第十四判断子模块判断出保存的负载的数量不为零时,在保存的负载中选择最小负载。
在本实施例中,第四作为子模块,还用于当最小负载对应的集群服务器的数量大于一个时,随机选取其中一个集群服务器作为最优服务器。
在本实施例中,计算子模块,具体用于:
将集群服务器的所用流量除以预设基数得到的商再加上该集群服务器的被访问次数;
或者,
将集群服务器的所用流量与预设基数取余得到的商再加上该集群服务器的被访问次数。
在本实施例中,发送模块605,还可以用于:根据第二获取模块604获取到的IP地址发送连接请求给最优服务器。
在本实施例中,接收模块601,可以用于接收客户端发送来的连接请求;
相应地,发送模块605,具体用于根据第二获取模块604获取到的IP地址组织连接请求应答数据,将连接请求应答数据发送给客户端。
在本实施例中,接收模块601,还可以具体用于:接收应用服务器发送来的获取服务器请求;
相应地,发送模块605,具体用于:将第二获取模块604获取到的IP地址发送给应用服务器。
本发明中的技术方案,能够有效的分散集群中服务器的负载,减少服务器的资源消耗,提升客户端的体验。
以上所述,仅为本发明较佳的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以权利要求的保护范围为准。
Claims (56)
1.一种分散服务器负载的方法,其特征在于,包括:
步骤S1:主服务器接收请求;
步骤S2:所述主服务器获取集群中多个集群服务器的负载参数,根据获取到的多个负载参数,在所述多个集群服务器中确定最优服务器;
步骤S3:所述主服务器获取所述最优服务器的IP地址并发送给客户端,供所述客户端根据所述IP地址访问所述最优服务器。
2.根据权利要求1所述的方法,其特征在于,所述步骤S2,还包括:所述主服务器更新集群服务器列表中集群服务器的信息;
所述步骤S2中,所述主服务器获取集群中多个集群服务器的负载参数,具体为:所述主服务器在所述集群服务器列表获取集群中多个集群服务器的负载参数。
3.根据权利要求2所述的方法,其特征在于,所述主服务器更新集群服务器列表中集群服务器的信息,具体为:
步骤a:所述主服务器下载各集群服务器的日志文件,解析所述日志文件,得到对应的集群服务器的被访问次数和所用流量,并将所述集群服务器列表中所述对应的集群服务器的被访问次数和所用流量更新为得到的被访问次数和所用流量。
4.根据权利要求3所述的方法,其特征在于,所述解析所述日志文件,得到对应的集群服务器的被访问次数和所用流量,具体为:
所述主服务器解析所述日志文件,统计所述日志文件中访问记录的行数得到对应的集群服务器的被访问次数;读取所述日志文件中每行访问记录中最后一段数据类型的数据并求和得到对应的集群服务器的所用流量。
5.根据权利要求1所述的方法,其特征在于,所述步骤S2,还包括:当所述主服务器根据获取到的多个负载参数,在所述多个集群服务器中未查找到最优服务器时,返回错误码给客户端,结束。
6.根据权利要求5所述的方法,其特征在于,所述负载参数,具体为:集群服务器在预设时间内的被访问次数;
所述步骤S2,具体为:所述主服务器获取集群中多个集群服务器在预设时间内的被访问次数,根据获取到的多个被访问次数,在所述多个集群服务器中确定最优服务器。
7.根据权利要求6所述的方法,其特征在于,所述根据获取到的多个被访问次数,在所述多个集群服务器中确定最优服务器,具体为:所述主服务器在获取到的多个被访问次数中选择最小被访问次数,将所述最小被访问次数对应的集群服务器作为最优服务器。
8.根据权利要求7所述的方法,其特征在于,将所述最小被访问次数对应的集群服务器作为最优服务器之前,还包括:
步骤E:所述主服务器判断所述最小被访问次数是否小于预设访问次数阈值,是则将所述最小被访问次数对应的集群服务器作为最优服务器,否则确认根据获取到的多个负载参数,在所述多个集群服务器中未查找到最优服务器,返回错误码给所述客户端,结束。
9.根据权利要求8所述的方法,其特征在于,所述步骤E判断为是时,还包括:
步骤e1:所述主服务器判断所述最小被访问次数对应的集群服务器的数量是否为一个,是则执行步骤e2,否则执行步骤e3;
步骤e2:所述主服务器根据所述最小被访问次数读取其对应的集群服务器的所用流量,并判断是否小于预设的流量阈值,是则将所述最小被访问次数对应的集群服务器作为最优服务器,否则确认根据获取到的多个负载参数,在所述多个集群服务器中未查找到最优服务器,返回错误码给客户端,结束;
步骤e3:所述主服务器根据所述最小被访问次数,读取其对应的多个集群服务器的所用流量,在读取到的所用流量中选择最小流量,判断所述最小流量是否小于预设流量阈值,是则将所述最小流量对应的集群服务器作为最优服务器,否则确认根据获取到的多个负载参数,在所述多个集群服务器中未查找到最优服务器,返回错误码给所述客户端,结束。
10.根据权利要求9所述的方法,其特征在于,当所述最小流量对应的集群服务器的数量大于一个时,所述主服务器随机选取其中一个集群服务器作为最优服务器。
11.根据权利要求5所述的方法,其特征在于,所述负载参数,具体为:集群服务器在预设时间内的所用流量;
所述步骤S2,具体为:所述主服务器获取集群中多个集群服务器在预设时间内的所用流量,根据获取到的多个所用流量,在所述多个集群服务器中确定最优服务器。
12.根据权利要求11所述的方法,其特征在于,所述根据获取到的多个所用流量,在所述多个集群服务器中确定最优服务器,具体为:所述主服务器在获取到的多个所用流量中选择最小流量,将所述最小流量对应的集群服务器作为最优服务器。
13.根据权利要求12所述的方法,其特征在于,将所述最小流量对应的集群服务器作为最优服务器之前,还包括:
步骤T:所述主服务器判断所述最小流量是否小于预设流量阈值,是则将所述最小流量对应的集群服务器作为最优服务器,否则确认根据获取到的多个负载参数,在所述多个集群服务器中未查找到最优服务器,返回错误码给所述客户端,结束。
14.根据权利要求13所述的方法,其特征在于,所述步骤T判断为是时,还包括:
步骤t1:所述主服务器判断所述最小流量对应的集群服务器的数量是否为一个,是则执行步骤t2,否则执行步骤t3;
步骤t2:所述主服务器根据所述最小流量读取其对应的集群服务器的被访问次数,并判断是否小于预设访问次数阈值,是则将所述最小流量对应的集群服务器作为最优服务器,否则确认根据获取到的多个负载参数,在所述多个集群服务器中未查找到最优服务器,返回错误码给客户端,结束;
步骤t3:所述主服务器根据所述最小流量,读取其对应的多个集群服务器的被访问次数,在读取到的被访问次数中选择最小被访问次数,判断所述最小被访问次数是否小于预设访问次数阈值,是则将所述最小被访问次数对应的集群服务器作为最优服务器,否则确认根据获取到的多个负载参数,在所述多个集群服务器中未查找到最优服务器,返回错误码给所述客户端,结束。
15.根据权利要求14所述的方法,其特征在于,当所述最小被访问次数对应的集群服务器的数量大于一个时,所述主服务器随机选取其中一个集群服务器作为最优服务器。
16.根据权利要求5所述的方法,其特征在于,所述负载参数具体为集群服务器在预设时间内的被访问次数和所用流量;
所述步骤S2,具体为:所述主服务器获取集群中多个集群服务器的被访问次数和所用流量,根据获取到的多个被访问次数和所用流量,在所述多个集群服务器中确定最优服务器。
17.根据权利要求16所述的方法,其特征在于,所述根据获取到的多个被访问次数和所用流量,在所述多个集群服务器中确定最优服务器,具体包括:
步骤F1:所述主服务器在获取到的多个被访问次数中选择最小被访问次数,在获取到的多个所用流量中选择最小流量;
步骤F2:所述主服务器根据所述最小被访问次数和所述最小流量,分别计算对应的集群服务器的负载并选择最小负载,将所述最小负载对应的集群服务器作为最优服务器。
18.根据权利要求17所述的方法,其特征在于,所述步骤F2之前,还包括:
步骤Y:所述主服务器判断所述最小被访问次数和所述最小流量是否小于对应的预设访问次数阈值和预设流量阈值,当判断其一为是时,将其对应的集群服务器作为最优服务器,当判断均为是时,执行步骤F2,当判断均为否时,确认根据获取到的多个负载参数,在所述多个集群服务器中未查找到最优服务器,返回错误码给客户端,结束。
19.根据权利要求18所述的方法,其特征在于,所述步骤Y中,
当所述判断其一为是,具体为:判断出所述最小被访问次数小于预设访问次数阈值时,将所述最小被访问次数对应的集群服务器作为最优服务器之前,还包括:
步骤d1:所述主服务器判断所述最小被访问次数对应的集群服务器的数量是否为一个,是则执行步骤d2,否则执行步骤d3;
步骤d2:所述主服务器根据所述最小被访问次数读取其对应的集群服务器的所用流量,并判断是否小于预设流量阈值,是则将所述最小被访问次数对应的集群服务器作为最优服务器,否则确认根据获取到的多个负载参数,在所述多个集群服务器中未查找到最优服务器,返回错误码给客户端,结束;
步骤d3:所述主服务器根据所述最小被访问次数,读取其对应的多个集群服务器的所用流量,并判断是否小于预设流量阈值,当判断均为否时,确认根据获取到的多个负载参数,在所述多个集群服务器中未查找到最优服务器,返回错误码给客户端,结束,否则在小于所述预设流量阈值的所用流量中选择最小流量,将所述最小流量对应的服务器作为最优服务器;
当所述判断其一为是,具体为:判断出所述最小流量小于预设流量阈值时,将所述最小流量对应的集群服务器作为最优服务器之前,还包括:
步骤g1:所述主服务器判断所述最小流量对应的集群服务器的数量是否为一个,是则执行步骤g2,否则执行步骤g3;
步骤g2:所述主服务器根据所述最小流量读取其对应的集群服务器的被访问次数,并判断是否小于预设访问次数阈值,是则将所述最小流量对应的集群服务器作为最优服务器,否则确认根据获取到的多个负载参数,在所述多个集群服务器中未查找到最优服务器,返回错误码给客户端,结束;
步骤g3:所述主服务器根据所述最小流量,读取其对应的多个集群服务器的被访问次数,并判断是否小于预设访问次数阈值,当判断均为否时,确认根据获取到的多个负载参数,在所述多个集群服务器中未查找到最优服务器,返回错误码给客户端,结束,否则在小于所述预设访问次数阈值的被访问次数中选择最小被访问次数,将所述最小被访问次数对应的集群服务器作为最优服务器。
20.根据权利要求19所述的方法,其特征在于,
所述步骤d3中,当所述最小流量对应的集群服务器的数量大于一个时,所述主服务器随机选取其中一个集群服务器作为最优服务器;
所述步骤g3中,当所述最小被访问次数对应的集群服务器的数量大于一个时,所述主服务器随机选取其中一个集群服务器作为最优服务器。
21.根据权利要求16所述的方法,其特征在于,所述根据获取到的多个被访问次数和所用流量,在所述多个集群服务器中确定最优服务器,具体为:
步骤H1:所述主服务器根据获取到的被访问次数和所用流量,计算对应的集群服务器的负载并保存;
步骤H2:所述主服务器在保存的负载中选择最小负载,将所述最小负载对应的集群服务器作为最优服务器。
22.根据权利要求21所述的方法,其特征在于,所述步骤H1之前,还包括:所述主服务器判断获取到的被访问次数和所用流量是否小于对应的预设访问次数阈值和预设流量阈值,当判断均为是时,执行步骤H1。
23.根据权利要求21所述的方法,其特征在于,所述步骤H2之前,还包括:所述主服务器判断保存的负载的数量是否为零,是则确认根据获取到的多个负载参数,在所述多个集群服务器中未查找到最优服务器,返回错误码给客户端,结束,否则执行步骤H2。
24.根据权利要求21所述的方法,其特征在于,当所述最小负载对应的集群服务器的数量大于一个时,所述主服务器随机选取其中一个集群服务器作为最优服务器。
25.根据权利要求17或21所述的方法,其特征在于,所述计算对应的集群服务器的负载,具体为:
将所述集群服务器的所用流量除以预设基数得到的商再加上该集群服务器的被访问次数;
或者,
将所述集群服务器的所用流量与预设基数取余得到的商再加上该集群服务器的被访问次数。
26.根据权利要求1所述的方法,其特征在于,所述步骤S3,还可以为:所述主服务器获取所述最优服务器的IP地址,并根据所述IP地址发送连接请求给所述最优服务器。
27.根据权利要求1所述的方法,其特征在于,当所述主服务器具体为应用服务器时,
所述步骤S1,具体为:应用服务器接收客户端发送来的连接请求;
所述步骤S3中,所述应用服务器获取所述最优服务器的IP地址并发送给客户端,具体为:所述应用服务器获取所述最优服务器的IP地址,根据所述IP地址组织连接请求应答数据,将所述连接请求应答数据发送给所述客户端。
28.根据权利要求1所述的方法,其特征在于,当所述主服务器具体为管理服务器时,
所述步骤S1之前,还包括:应用服务器接收客户端发送的连接请求;
所述步骤S1,具体为:管理服务器接收所述应用服务器发送来的获取服务器请求;
所述步骤S2中,当根据获取到的多个负载参数,在所述多个集群服务器中未查找到最优服务器时,所述应用服务器返回错误码给所述客户端;
所述步骤S3中,所述管理服务器获取所述最优服务器的IP地址之后,还包括:所述管理服务器将获取到的IP地址发送给所述应用服务器,所述应用服务器根据所述IP地址组织连接请求应答数据并发送给所述客户端。
29.一种分散服务器负载的装置,其特征在于,包括:
接收模块,用于接收请求;
第一获取模块,用于获取集群中多个集群服务器的负载参数;
选择模块,用于根据所述第一获取模块获取到的多个集群服务器的负载参数,在所述多个集群服务器中确定最优服务器;
第二获取模块,用于获取所述选择模块确定的最优服务器的IP地址;
发送模块,用于将所述第二获取模块获取到的IP地址发送给客户端,供所述客户端根据所述IP地址访问所述最优服务器。
30.根据权利要求29所述的装置,其特征在于,还包括:更新模块,用于更新集群服务器列表中集群服务器的信息;
所述第一获取模块,具体用于:在所述集群服务器列表获取集群中多个集群服务器的负载参数。
31.根据权利要求30所述的装置,其特征在于,所述更新模块,具体包括:
下载子模块,用于下载各集群服务器的日志文件;
解析子模块,用于解析所述下载子模块下载的日志文件,得到对应的集群服务器的被访问次数和所用流量;
更新子模块,用于将所述集群服务器列表中所述对应的集群服务器的被访问次数和所用流量更新为所述解析子模块得到的被访问次数和所用流量。
32.根据权利要求31所述的装置,其特征在于,所述解析子模块,具体用于:解析所述下载子模块下载的日志文件,统计所述日志文件中访问记录的行数得到对应的集群服务器的被访问次数;读取所述日志文件中每行访问记录中最后一段数据类型的数据并求和得到对应的集群服务器的所用流量。
33.根据权利要求29所述的装置,其特征在于,所述发送模块,还用于当所述选择模块根据所述第一获取模块获取到的多个负载参数,在所述多个集群服务器中未查找到最优服务器时,返回错误码给客户端,结束。
34.根据权利要求33所述的装置,其特征在于,所述负载参数,具体为:集群服务器在预设时间内的被访问次数;
所述第一获取模块,具体用于:获取集群中多个集群服务器在预设时间内的被访问次数;
所述选择模块,具体用于:根据所述第一获取模块获取到的多个被访问次数,在所述多个集群服务器中确定最优服务器。
35.根据权利要求34所述的装置,其特征在于,所述选择模块,具体包括:
第一选择子模块,用于在所述第一获取模块获取到的多个被访问次数中选择最小被访问次数;
第一作为子模块,用于将所述最小被访问次数对应的服务器作为最优服务器。
36.根据权利要求35所述的装置,其特征在于,所述选择模块,还包括:
第一判断子模块,用于所述第一作为子模块将所述最小被访问次数对应的集群服务器作为最优服务器之前,判断所述最小被访问次数是否小于预设访问次数阈值;
所述第一作为子模块,具体用于当所述第一判断子模块判断出所述最小被访问次数小于预设访问次数阈值时,将所述最小被访问次数对应的集群服务器作为最优服务器;
所述发送模块,具体用于当所述第一判断子模块判断出所述最小被访问次数不小于预设访问次数阈值时,确认所述选择模块根据所述第一获取模块获取到的多个负载参数,在所述多个集群服务器中未查找到最优服务器,返回错误码给所述客户端,结束。
37.根据权利要求36所述的装置,其特征在于,所述选择模块,还包括:
第二判断子模块,用于当所述第一判断子模块判断出所述最小被访问次数小于预设访问次数阈值时,判断所述最小被访问次数对应的集群服务器的数量是否为一个;
第三判断子模块,用于当所述第二判断子模块判断出所述最小被访问次数对应的集群服务器的数量是一个时,根据所述最小被访问次数读取其对应的集群服务器的所用流量,并判断是否小于预设的流量阈值;
所述第一作为子模块,具体用于:当所述第三判断子模块判断出根据所述最小被访问次数读取到的所用流量小于预设的流量阈值时,将所述最小被访问次数对应的集群服务器作为最优服务器;
第一选择判断子模块,用于当所述第二判断子模块判断出所述最小被访问次数对应的集群服务器的数量不是一个时,根据所述最小被访问次数,读取其对应的多个集群服务器的所用流量,在读取到的所用流量中选择最小流量,判断所述最小流量是否小于预设流量阈值;
所述第一作为子模块,还用于当所述第一选择判断子模块判断出所述最小流量小于预设流量阈值时,将所述最小流量对应的集群服务器作为最优服务器;
所述发送模块,还用于当所述第三判断子模块判断出根据所述最小被访问次数读取到的所用流量不小于预设流量阈值时,确认所述选择模块根据所述第一获取模块获取到的多个负载参数,在所述多个集群服务器中未查找到最优服务器,返回错误码给客户端,结束;还用于当所述第一选择判断子模块判断出所述最小流量不小于预设流量阈值时,确认所述选择模块根据所述第一获取模块获取到的多个负载参数,在所述多个集群服务器中未查找到最优服务器,返回错误码给所述客户端,结束。
38.根据权利要求37所述的装置,其特征在于,所述第一作为子模块,还用于当所述最小流量对应的集群服务器的数量大于一个时,随机选取其中一个集群服务器作为最优服务器。
39.根据权利要求33所述的装置,其特征在于,所述负载参数,具体为:集群服务器在预设时间内的所用流量;
所述第一获取模块,具体用于:获取集群中多个集群服务器在预设时间内的所用流量;
所述选择模块,具体用于:根据所述第一获取模块获取到的多个所用流量,在所述多个集群服务器中确定最优服务器。
40.根据权利要求39所述的装置,其特征在于,所述选择模块,具体包括:
第二选择子模块,用于在获取到的多个所用流量中选择最小流量;
第二作为子模块,用于将所述最小流量对应的集群服务器作为最优服务器。
41.根据权利要求40所述的装置,其特征在于,所述选择模块,还包括:
第四判断子模块,用于所述第二作为子模块将所述最小流量对应的集群服务器作为最优服务器之前,判断所述最小流量是否小于预设流量阈值;
所述第二作为子模块,具体用于:当所述第四判断子模块判断出所述最小流量小于预设流量阈值时,将所述最小流量对应的集群服务器作为最优服务器;
所述发送模块,具体用于:当所述第四判断子模块判断出所述最小流量不小于预设流量阈值时,确认所述选择模块根据所述第一获取模块获取到的多个负载参数,在所述多个集群服务器中未查找到最优服务器,返回错误码给所述客户端,结束。
42.根据权利要求41所述的装置,其特征在于,所述选择模块,还包括:
第五判断子模块,用于所述第四判断子模块判断出所述最小流量小于预设流量阈值时,判断所述最小流量对应的集群服务器的数量是否为一个;
读取判断子模块,具体用于:当所述第五判断子模块判断出所述最小流量对应的集群服务器的数量是一个时,根据所述最小流量读取其对应的集群服务器的被访问次数,并判断是否小于预设访问次数阈值;
所述第二作为子模块,具体用于:当所述读取判断子模块判断出根据所述最小流量读取到的被访问次数小于预设访问次数阈值时,将所述最小流量对应的集群服务器作为最优服务器;
第二选择判断子模块,用于当所述第五判断子模块判断出所述最小流量对应的集群服务器的数量不是一个时,根据所述最小流量,读取其对应的多个集群服务器的被访问次数,在读取到的被访问次数中选择最小被访问次数,判断所述最小被访问次数是否小于预设访问次数阈值;
所述第二作为子模块,具体用于:当所述第二选择判断子模块判断出所述最小被访问次数小于预设访问次数阈值时,将所述最小被访问次数对应的集群服务器作为最优服务器;
所述发送模块,还用于当所述读取判断子模块判断出根据所述最小流量读取到的被访问次数不小于预设访问次数阈值时,确认所述选择模块根据所述第一获取模块获取到的多个负载参数,在所述多个集群服务器中未查找到最优服务器,返回错误码给所述客户端,结束;还用于当所述第二选择判断子模块判断出所述最小被访问次数不小于预设访问次数阈值时,确认所述选择模块根据所述第一获取模块获取到的多个负载参数,在所述多个集群服务器中未查找到最优服务器,返回错误码给所述客户端,结束。
43.根据权利要求42所述的装置,其特征在于,所述第二作为子模块,还用于当所述最小被访问次数对应的集群服务器的数量大于一个时,随机选取其中一个集群服务器作为最优服务器。
44.根据权利要求39所述的装置,其特征在于,所述负载参数具体为集群服务器的被访问次数和所用流量;
所述第一获取模块,具体用于:获取集群中多个集群服务器的被访问次数和所用流量;
所述选择模块,具体用于:根据所述第一获取模块获取到的多个被访问次数和所用流量,在所述多个集群服务器中确定最优服务器。
45.根据权利要求44所述的装置,其特征在于,所述选择模块,具体包括:
第三选择子模块,用于在所述第一获取模块获取到的多个被访问次数中选择最小被访问次数,在所述第一获取模块获取到的多个所用流量中选择最小流量;
计算子模块,用于根据所述第三选择子模块选择的最小被访问次数和所述最小流量,分别计算对应的集群服务器的负载并选择最小负载;
第三作为子模块,用于将所述最小负载对应的集群服务器作为最优服务器。
46.根据权利要求45所述的装置,其特征在于,所述选择模块,还包括:
第六判断子模块,用于判断所述最小被访问次数和所述最小流量是否小于对应的预设访问次数阈值和预设流量阈值;
所述第三作为子模块,还用于当所述第六判断子模块判断出其一为是时,将其对应的集群服务器作为最优服务器;
所述计算子模块,具体用于:当所述第六判断子模块判断出均为是时,根据所述选择子模块选择的最小被访问次数和所述最小流量,分别计算对应的集群服务器的负载并选择最小负载;
所述发送模块,具体用于:当所述第六判断子模块出均为否时,确认所述选择模块根据所述第一获取模块获取到的多个负载参数,在所述多个集群服务器中未查找到最优服务器,返回错误码给客户端,结束。
47.根据权利要求46所述的装置,其特征在于,所述选择模块,还包括:
第七判断子模块,用于当所述第六判断子模块判断出其一为是,具体为:判断出所述最小被访问次数小于预设访问次数阈值时,所述第三作为子模块将所述最小被访问次数对应的集群服务器作为最优服务器之前,判断所述最小被访问次数对应的集群服务器的数量是否为一个;
第八判断子模块,用于当所述第七判断子模块判断出所述最小被访问次数对应的集群服务器的数量是一个时,根据所述最小被访问次数读取其对应的集群服务器的所用流量,并判断是否小于预设流量阈值;
所述第三作为子模块,具体用于当所述第八判断子模块判断出根据所述最小被访问次数读取到的所用流量小于预设流量阈值时,将所述最小被访问次数对应的集群服务器作为最优服务器;
所述发送模块,还用于当所述第八判断子模块判断出根据所述最小被访问次数读取到的所用流量不小于预设流量阈值时,确认所述选择模块根据所述第一获取模块获取到的多个负载参数,在所述多个集群服务器中未查找到最优服务器,返回错误码给客户端,结束;
第九判断子模块,用于当所述第七判断子模块判断出所述最小被访问次数对应的集群服务器的数量不是一个时,根据所述最小被访问次数,读取其对应的多个集群服务器的所用流量,并判断是否小于预设流量阈值;
所述发送模块,还用于当所述第九判断子模块判断出均为否时,确认所述选择模块根据所述第一获取模块获取到的多个负载参数,在所述多个集群服务器中未查找到最优服务器,返回错误码给客户端,结束;
所述第三选择子模块,还用于当所述第九判断子模块判断出不均为否时,在小于所述预设流量阈值的所用流量中选择最小流量;
所述第三作为子模块,具体用于:将所述第三选择子模块选择的最小流量对应的服务器作为最优服务器;
第十判断子模块,用于当所述第六判断子模块判断出其一为是,具体为:判断出所述最小流量小于预设流量阈值时,所述第三作为子模块将所述最小流量对应的集群服务器作为最优服务器之前,判断所述最小流量对应的集群服务器的数量是否为一个;
第十一判断子模块,用于当所述第十判断子模块判断出所述最小流量对应的集群服务器的数量是一个时,根据所述最小流量读取其对应的集群服务器的被访问次数,并判断是否小于预设访问次数阈值;
所述第三作为子模块,具体用于:当所述第十一判断子模块判断出根据所述最小流量读取到的被访问次数小于预设访问次数阈值时,将所述最小流量对应的集群服务器作为最优服务器;
所述发送模块,还用于当所述第十一判断模块判断出根据所述最小流量读取到的被访问次数不小于预设访问次数阈值时,确认所述选择模块根据所述第一获取模块获取到的多个负载参数,在所述多个集群服务器中未查找到最优服务器,返回错误码给客户端,结束;
第十二判断子模块,用于当所述第十判断子模块判断出所述最小流量对应的集群服务器的数量不是一个时,根据所述最小流量,读取其对应的多个集群服务器的被访问次数,并判断是否小于预设访问次数阈值;
所述发送模块,还用于当所述第十二判断子模块判断出均为否时,确认所述选择模块根据所述第一获取模块获取到的多个负载参数,在所述多个集群服务器中未查找到最优服务器,返回错误码给客户端,结束;
所述第三选择子模块,还用于当所述第十二判断子模块判断出不均为否时,在小于所述预设访问次数阈值的被访问次数中选择最小被访问次数;
所述第三作为子模块,具体用于:将所述第三选择子模块选择的最小被访问次数对应的集群服务器作为最优服务器。
48.根据权利要求47所述的装置,其特征在于,所述第三作为子模块,还用于当所述最小流量对应的集群服务器的数量大于一个时,随机选取其中一个集群服务器作为最优服务器;还用于当所述最小被访问次数对应的集群服务器的数量大于一个时,随机选取其中一个集群服务器作为最优服务器。
49.根据权利要求44所述的装置,其特征在于,所述选择模块,具体包括:
计算子模块,用于根据所述第一获取模块获取到的被访问次数和所用流量,计算对应的集群服务器的负载并保存;
第四选择子模块,用于在保存的负载中选择最小负载;
第四作为子模块,用于将所述第四选择子模块选择的最小负载对应的集群服务器作为最优服务器。
50.根据权利要求49所述的装置,其特征在于,所述选择模块,还包括:
第十三判断子模块,用于所述计算子模块根据获取到的被访问次数和所用流量,计算对应的集群服务器的负载并保存之前,判断所述第一获取模块获取到的被访问次数和所用流量是否小于对应的预设访问次数阈值和预设流量阈值;
所述计算子模块,具体用于:当所述第十三判断子模块判断出均为是时,根据所述获取到的被访问次数和所用流量,计算对应的集群服务器的负载并保存。
51.根据权利要求49所述的装置,其特征在于,所述选择模块,还包括:
第十四判断子模块,用于所述第四选择子模块在保存的负载中选择最小负载之前,判断保存的负载的数量是否为零;
所述发送模块,具体用于:当所述第十四判断子模块判断出保存的负载的数量为零时,确认所述选择模块根据所述第一获取模块获取到的多个负载参数,在所述多个集群服务器中未查找到最优服务器,返回错误码给客户端,结束;
所述第四选择子模块,具体用于当所述第十四判断子模块判断出保存的负载的数量不为零时,在保存的负载中选择最小负载。
52.根据权利要求49所述的装置,其特征在于,所述第四作为子模块,还用于当所述最小负载对应的集群服务器的数量大于一个时,随机选取其中一个集群服务器作为最优服务器。
53.根据权利要求45或49所述的装置,其特征在于,所述计算子模块,具体用于:
将所述集群服务器的所用流量除以预设基数得到的商再加上该集群服务器的被访问次数;
或者,
将所述集群服务器的所用流量与预设基数取余得到的商再加上该集群服务器的被访问次数。
54.根据权利要求29所述的装置,其特征在于,所述发送模块,还用于:根据所述第二获取模块获取到的IP地址发送连接请求给所述最优服务器。
55.根据权利要求29所述的装置,其特征在于,
所述接收模块,具体用于:接收客户端发送来的连接请求;
所述发送模块,具体用于:根据所述第二获取模块获取到的IP地址组织连接请求应答数据,将所述连接请求应答数据发送给所述客户端。
56.根据权利要求29所述的装置,其特征在于,
所述接收模块,具体用于:接收应用服务器发送来的获取服务器请求;
所述发送模块,具体用于:将所述第二获取模块获取到的IP地址发送给所述应用服务器。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610443845.7A CN105915646A (zh) | 2016-06-20 | 2016-06-20 | 一种分散服务器负载的方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610443845.7A CN105915646A (zh) | 2016-06-20 | 2016-06-20 | 一种分散服务器负载的方法及装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN105915646A true CN105915646A (zh) | 2016-08-31 |
Family
ID=56758355
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201610443845.7A Pending CN105915646A (zh) | 2016-06-20 | 2016-06-20 | 一种分散服务器负载的方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN105915646A (zh) |
Cited By (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106953926A (zh) * | 2017-03-31 | 2017-07-14 | 北京奇艺世纪科技有限公司 | 一种路由方法及装置 |
CN106972975A (zh) * | 2017-04-27 | 2017-07-21 | 上海斐讯数据通信技术有限公司 | 一种服务器管理方法及系统 |
CN108471387A (zh) * | 2018-03-27 | 2018-08-31 | 中国农业银行股份有限公司 | 一种日志流量分散控制方法及系统 |
CN108881379A (zh) * | 2018-05-03 | 2018-11-23 | 网宿科技股份有限公司 | 一种服务器集群间数据同步的方法和装置 |
CN110048896A (zh) * | 2019-04-29 | 2019-07-23 | 广州华多网络科技有限公司 | 一种集群数据获取方法、装置及设备 |
CN110808981A (zh) * | 2019-11-04 | 2020-02-18 | 普联技术有限公司 | 一种视频流预览方法及装置 |
CN111083244A (zh) * | 2018-10-22 | 2020-04-28 | 浙江宇视科技有限公司 | 集群地址分配方法及装置 |
CN111385327A (zh) * | 2018-12-28 | 2020-07-07 | 阿里巴巴集团控股有限公司 | 数据处理方法和系统 |
CN113869977A (zh) * | 2021-09-26 | 2021-12-31 | 中国联合网络通信集团有限公司 | 订单处理系统 |
CN117081996A (zh) * | 2023-10-16 | 2023-11-17 | 北京乐讯科技有限公司 | 基于服务端实时反馈和软值的流量控制方法及相关设备 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20030109994A1 (en) * | 2001-12-06 | 2003-06-12 | Koninklijke Philips Electronics N.V. | Charger system for receiving and transferring data to an electronic device |
CN101217483A (zh) * | 2008-01-21 | 2008-07-09 | 中兴通讯股份有限公司 | 用于实现集群服务器内负载分担代理的方法 |
CN104468852A (zh) * | 2013-09-18 | 2015-03-25 | 腾讯科技(北京)有限公司 | 客户端选择ip链接地址的方法、装置及系统 |
-
2016
- 2016-06-20 CN CN201610443845.7A patent/CN105915646A/zh active Pending
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20030109994A1 (en) * | 2001-12-06 | 2003-06-12 | Koninklijke Philips Electronics N.V. | Charger system for receiving and transferring data to an electronic device |
CN101217483A (zh) * | 2008-01-21 | 2008-07-09 | 中兴通讯股份有限公司 | 用于实现集群服务器内负载分担代理的方法 |
CN104468852A (zh) * | 2013-09-18 | 2015-03-25 | 腾讯科技(北京)有限公司 | 客户端选择ip链接地址的方法、装置及系统 |
Non-Patent Citations (1)
Title |
---|
苏新宁、杨建林等: "《数据挖掘理论与技术》", 30 June 2003 * |
Cited By (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106953926A (zh) * | 2017-03-31 | 2017-07-14 | 北京奇艺世纪科技有限公司 | 一种路由方法及装置 |
CN106972975A (zh) * | 2017-04-27 | 2017-07-21 | 上海斐讯数据通信技术有限公司 | 一种服务器管理方法及系统 |
CN108471387A (zh) * | 2018-03-27 | 2018-08-31 | 中国农业银行股份有限公司 | 一种日志流量分散控制方法及系统 |
CN108881379A (zh) * | 2018-05-03 | 2018-11-23 | 网宿科技股份有限公司 | 一种服务器集群间数据同步的方法和装置 |
CN111083244A (zh) * | 2018-10-22 | 2020-04-28 | 浙江宇视科技有限公司 | 集群地址分配方法及装置 |
CN111083244B (zh) * | 2018-10-22 | 2022-09-06 | 浙江宇视科技有限公司 | 集群地址分配方法及装置 |
CN111385327A (zh) * | 2018-12-28 | 2020-07-07 | 阿里巴巴集团控股有限公司 | 数据处理方法和系统 |
CN111385327B (zh) * | 2018-12-28 | 2022-06-14 | 阿里巴巴集团控股有限公司 | 数据处理方法和系统 |
CN110048896A (zh) * | 2019-04-29 | 2019-07-23 | 广州华多网络科技有限公司 | 一种集群数据获取方法、装置及设备 |
CN110808981A (zh) * | 2019-11-04 | 2020-02-18 | 普联技术有限公司 | 一种视频流预览方法及装置 |
CN113869977A (zh) * | 2021-09-26 | 2021-12-31 | 中国联合网络通信集团有限公司 | 订单处理系统 |
CN117081996A (zh) * | 2023-10-16 | 2023-11-17 | 北京乐讯科技有限公司 | 基于服务端实时反馈和软值的流量控制方法及相关设备 |
CN117081996B (zh) * | 2023-10-16 | 2024-01-05 | 北京乐讯科技有限公司 | 基于服务端实时反馈和软阈值的流量控制方法及相关设备 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN105915646A (zh) | 一种分散服务器负载的方法及装置 | |
CN108268372B (zh) | Mock测试处理方法、装置、存储介质和计算机设备 | |
CN107688496B (zh) | 任务分布式处理方法、装置、存储介质和服务器 | |
CN111385112B (zh) | 切片资源部署方法、装置、切片管理器和计算机存储介质 | |
CN106302632B (zh) | 一种基础镜像的下载方法以及管理节点 | |
US8825684B2 (en) | Arrangement for comparing content identifiers of files | |
US8572621B2 (en) | Selection of server for relocation of application program based on largest number of algorithms with identical output using selected server resource criteria | |
CN108062243B (zh) | 执行计划的生成方法、任务执行方法及装置 | |
CN105516347A (zh) | 一种流媒体服务器的负载均衡调配的方法及装置 | |
CN110661829A (zh) | 文件下载方法及装置、客户端和计算机可读存储介质 | |
CN110933136A (zh) | 一种服务节点选择方法、装置、设备及可读存储介质 | |
CN113656168A (zh) | 一种流量的自动容灾和调度的方法、系统、介质和设备 | |
CN110830551B (zh) | 业务请求处理方法、装置及系统 | |
CN110377430B (zh) | 数据迁移方法、设备、存储介质及装置 | |
CN112769943A (zh) | 一种业务处理的方法及装置 | |
CN114185763A (zh) | 动态分配方法、装置、存储介质及电子设备 | |
CN115329005A (zh) | 多集群的协同方法、系统、装置及计算机可读存储介质 | |
CN111083204A (zh) | 文件传输方法、装置及存储介质 | |
CN107493315B (zh) | 一种行为数据的收集方法、资源服务器及存储介质 | |
CN111159131A (zh) | 性能优化方法、装置、设备及计算机可读存储介质 | |
CN111177221B (zh) | 一种统计数据采集方法、装置及设备 | |
CN112948104B (zh) | 负载均衡的数据采集方法及装置 | |
CN115086299B (zh) | 文件下载方法、装置、设备、介质和程序产品 | |
CN115952003A (zh) | 一种集群服务器负载均衡的方法、装置、设备及存储介质 | |
CN106445784B (zh) | 一种信息监控方法及装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20160831 |
|
RJ01 | Rejection of invention patent application after publication |