CN105915644B - 一种服务器负载均衡方法 - Google Patents
一种服务器负载均衡方法 Download PDFInfo
- Publication number
- CN105915644B CN105915644B CN201610440518.6A CN201610440518A CN105915644B CN 105915644 B CN105915644 B CN 105915644B CN 201610440518 A CN201610440518 A CN 201610440518A CN 105915644 B CN105915644 B CN 105915644B
- Authority
- CN
- China
- Prior art keywords
- server
- database server
- load value
- current
- data processing
- 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.)
- Active
Links
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/1034—Reaction to server failures by a load balancer
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer Hardware Design (AREA)
- General Engineering & Computer Science (AREA)
- Computer And Data Communications (AREA)
Abstract
本发明实施例涉及一种服务器负载均衡方法,所述方法包括:控制服务器接收应用服务器发送的数据处理请求;所述控制服务器判断所述数据处理请求的类型;当所述数据处理请求为读取数据请求时,所述控制服务器获取每台数据库服务器的负载信息,根据所述负载信息得到每台数据库服务器的负载值;所述控制服务器根据所述每台数据库服务器的当前负载值和当前总负载值,将所述数据处理请求分配到第一数据库服务器进行处理。本发明实施例提供的服务器负载均衡方法,能够根据服务器负载值弹性化分配数据处理任务,从而实现服务器负载均衡。
Description
技术领域
本发明涉及网络技术领域,尤其涉及一种服务器负载均衡方法。
背景技术
随着通信技术和网络技术的发展,网络访问量和数据流量快速增长,网络各个核心部分的处理性能和计算强度也相应增大,单一服务器明显已经无法满足数据处理的需求,因此需要多个服务器进行分担。
现有技术中,在利用多个服务器进行数据处理时,存在服务器负载不均衡的问题,出现部分服务器数据处理量过大,导致处理速度慢,处理时间超出预期,而其他服务器处理数据量低于预期或者闲置,从而造成资源浪费。因此,需要一种合理有效地分配资源,实现服务器负载均衡的方法。
发明内容
本发明的目的是提供一种服务器负载均衡方法,以解决现有技术中服务器负载不均衡的问题。
为实现上述目的,本发明提供了一种服务器负载均衡方法,所述方法包括:
控制服务器接收应用服务器发送的数据处理请求;
所述控制服务器判断所述数据处理请求的类型;
当所述数据处理请求为读取数据请求时,所述控制服务器获取每台数据库服务器的负载信息,根据所述负载信息得到每台数据库服务器的负载值;
所述控制服务器根据所述每台数据库服务器的当前负载值和当前总负载值,将所述数据处理请求分配到第一数据库服务器进行处理。
进一步的,所述控制服务器根据所述每台数据库服务器的当前负载值和当前总负载值,将所述数据处理请求分配到第一数据库服务器进行处理具体包括:
当所述当前总负载值小于所述理论总负载值时,将所述数据处理请求分配到理论负载值与当前负载值差别最大的第一数据库服务器。
进一步的,所述控制服务器根据所述每台数据库服务器的当前负载值和当前总负载值,将所述数据处理请求分配到第一数据库服务器进行处理具体包括:
当所述当前总负载值小于所述理论总负载值时,将所述数据处理请求分配到当前负载值最小的第一数据库服务器。
进一步的,所述将所述数据处理请求分配到当前负载值最小的第一数据库服务器具体包括:
所述控制服务器利用当前负载值最小且处于正常工作状态的数据库服务器进行数据读取。
进一步的,所述控制服务器根据所述每台数据库服务器的当前负载值和当前总负载值,将所述数据处理请求分配到第一数据库服务器进行处理具体包括:
当所述当前总负载值小于所述理论总负载值时,将所述数据处理请求分配到任一当前负载值不大于理论负载值的第一数据库服务器。
进一步的,所述控制服务器根据所述每台数据库服务器的当前负载值和当前总负载值,将所述数据处理请求分配到第一数据库服务器进行处理具体包括:
当所述当前总负载值等于所述理论总负载值时,将所述数据处理请求分配到新投入的第一数据库服务器进行处理。
进一步的,所述方法还包括:所述数据库服务器向所述控制服务器发送状态信息,当接收到当前状态信息为故障状态或超过阈值时间没有收到当前状态信息时,将所述数据库服务器的所有任务切换到该数据库服务器对应的备用数据库服务器或者其他数据库服务器。
进一步的,当接收到当前状态信息为故障状态或超过阈值时间没有收到当前状态信息时,将所述数据库服务器的所有任务切换到该数据库服务器对应的备用数据库服务器或者其他数据库服务器具体包括:
当前状态信息为故障状态或超过阈值时间没有收到当前状态信息时,将所述数据库服务器的所有任务统一切换到所述数据库服务器对应的备用数据库服务器;或者
将所述数据库服务器的所有任务根据负载信息切换到其他数据库服务器。
本发明实施例提供的服务器负载均衡方法,能够根据服务器负载值弹性化分配数据处理任务,从而实现服务器负载均衡。
附图说明
图1为本发明实施例提供的服务器负载均衡方法的系统架构图;
图2为本发明实施例提供的服务器负载均衡方法流程图。
具体实施方式
下面通过附图和实施例,对本发明的技术方案做进一步的详细描述。
图1为本发明实施例提供的服务器负载均衡方法的系统架构图。如图1所示,包括多个应用服务器11、多个控制服务器12和多个数据库服务器13。应用服务器11向控制服务器12发送数据处理请求,控制服务器12判断数据处理请求的类型,当数据处理请求为读取数据请求时,控制服务器12获取每台数据库服务器13的负载信息,根据负载信息得到每台数据库服务器13的负载值。控制服务器13根据每台数据库服务器的当前负载值和当前总负载值,将数据处理请求分配到数据库服务器13进行处理。当数据处理请求为写入数据请求时,应用服务器11将待写入数据缓存在控制服务器12,控制服务器12将待写入数据写入多个数据库服务器13。另外,每台数据库服务器13都具有对应的备用数据库服务器(图中未示出),当数据库服务器13出现问题不能正常工作时,启动对应的备用数据库服务器执行数据处理任务。此前,需要对数据库做镜像,然后周期性的对备用数据库服务器进行快照,以保证备用数据库服务器和数据库服务器13数据同步。
图2为本发明实施例提供的服务器负载均衡方法示意图。如图2所示,所述方法包括:
步骤201,控制服务器接收应用服务器发送的数据处理请求。
具体地,控制服务器作为应用服务器和数据库服务器的中间层,接收应用服务器发送的数据处理请求,截断了应用服务器和数据库服务器的直接连接,使控制服务器可以具体控制访问某个数据库。控制服务器将数据库放到了内网之中,更好地保护了数据库的安全性。
另外,控制服务器的设置便于数据库管理员对数据库进行管理,而且由于控制服务器承接了所有数据库的连接,需要设置多个控制服务器,避免一个控制服务器出现问题导致系统瘫痪。
步骤202,所述控制服务器判断所述数据处理请求的类型。
具体地,数据处理请求包括读取数据请求和写入数据请求,控制服务器首先需要做出判断后再进行后续处理。
步骤203,当所述数据处理请求为读取数据请求时,所述控制服务器获取每台数据库服务器的负载信息,根据所述负载信息得到每台数据库服务器的负载值。
其中,负载信息包括服务器的CPU利用率、内存利用率和网络带宽占用率等,分别将负载信息中的各项赋予权重,并进行加权处理,得到数据库服务器的负载值。
另外,当数据处理请求为写入数据请求时,应用服务器将待写入数据缓存在控制服务器,控制服务器将待写入数据写入多个数据库服务器。
步骤204,所述控制服务器根据所述每台数据库服务器的当前负载值和当前总负载值,将所述数据处理请求分配到第一数据库服务器进行处理。
具体地,当当前总负载值小于理论总负载值时,分为以下三种处理办法:
第一种,将数据处理请求分配到理论负载值与当前负载值差别最大的第一数据库服务器。
理论负载值与当前负载值差别最大,说明该数据库服务器和其他数据库服务器相比存在更多的空闲空间可以进行数据处理。
其中,理论负载值为每台数据库服务器的最大负载值。理论总负载值为每台数据库服务器的最大负载值之和。
第二种,将数据处理请求分配到当前负载值最小的第一数据库服务器。
具体地,控制服务器利用当前负载值最小且处于正常工作状态的数据库服务器进行数据读取。
此处需要说明的是,如果数据库服务器出现故障,则也有可能出现当前负载值最小的情况,因此,控制服务器需要用当前负载值最小且处于正常工作状态的数据库服务器进行数据读取。
第三种,将数据处理请求分配到任一当前负载值不大于理论负载值的第一数据库服务器。
只要当前负载值不大于理论负载值,则该数据库服务器就可以继续增加数据处理任务,因此,可以将数据处理请求分配到任意一个当前负载值不大于理论负载值的数据库服务器。
当当前总负载值等于理论总负载值时,当前所有数据库服务器均无闲置,则需要新投入数据库服务器,将数据处理请求分配到新投入的第一数据库服务器进行处理。
可选地,本申请技术方案还包括:数据库服务器向控制服务器发送状态信息,当接收到当前状态信息为故障状态或超过阈值时间没有收到当前状态信息时,将数据库服务器的所有任务切换到该数据库服务器对应的备用数据库服务器或者其他数据库服务器。
具体地,当前状态信息为故障状态或超过阈值时间没有收到当前状态信息时,将数据库服务器的所有任务统一切换到数据库服务器对应的备用数据库服务器;或者将数据库服务器的所有任务根据负载信息切换到其他数据库服务器。
本发明实施例提供的服务器负载均衡方法,能够根据服务器负载值弹性化分配数据处理任务,从而实现服务器负载均衡。
专业人员应该还可以进一步意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。
结合本文中所公开的实施例描述的方法或算法的步骤可以用硬件、处理器执行的软件模块,或者二者的结合来实施。软件模块可以置于随机存储器(RAM)、内存、只读存储器(ROM)、电可编程ROM、电可擦除可编程ROM、寄存器、硬盘、可移动磁盘、CD-ROM、或技术领域内所公知的任意其它形式的存储介质中。
以上所述的具体实施方式,对本发明的目的、技术方案和有益效果进行了进一步详细说明,所应理解的是,以上所述仅为本发明的具体实施方式而已,并不用于限定本发明的保护范围,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (7)
1.一种服务器负载均衡方法,其特征在于,所述方法包括:
控制服务器接收应用服务器发送的数据处理请求;
所述控制服务器判断所述数据处理请求的类型;
当所述数据处理请求为读取数据请求时,所述控制服务器获取每台数据库服务器的负载信息,根据所述负载信息得到每台数据库服务器的负载值;
所述控制服务器根据所述每台数据库服务器的当前负载值和当前总负载值,将所述数据处理请求分配到第一数据库服务器进行处理;
其中,所述控制服务器根据所述每台数据库服务器的当前负载值和当前总负载值,将所述数据处理请求分配到第一数据库服务器进行处理具体包括:
当所述当前总负载值小于理论总负载值时,将所述数据处理请求分配到理论负载值与当前负载值差别最大的第一数据库服务器。
2.根据权利要求1所述的服务器负载均衡方法,其特征在于,所述控制服务器根据所述每台数据库服务器的当前负载值和当前总负载值,将所述数据处理请求分配到第一数据库服务器进行处理具体包括:
当所述当前总负载值小于所述理论总负载值时,将所述数据处理请求分配到当前负载值最小的第一数据库服务器。
3.根据权利要求2所述的服务器负载均衡方法,其特征在于,所述将所述数据处理请求分配到当前负载值最小的第一数据库服务器具体包括:
所述控制服务器利用当前负载值最小且处于正常工作状态的数据库服务器进行数据读取。
4.根据权利要求1所述的服务器负载均衡方法,其特征在于,所述控制服务器根据所述每台数据库服务器的当前负载值和当前总负载值,将所述数据处理请求分配到第一数据库服务器进行处理具体包括:
当所述当前总负载值小于所述理论总负载值时,将所述数据处理请求分配到任一当前负载值不大于理论负载值的第一数据库服务器。
5.根据权利要求1所述的服务器负载均衡方法,其特征在于,所述控制服务器根据所述每台数据库服务器的当前负载值和当前总负载值,将所述数据处理请求分配到第一数据库服务器进行处理具体包括:
当所述当前总负载值等于所述理论总负载值时,将所述数据处理请求分配到新投入的第一数据库服务器进行处理。
6.根据权利要求1所述的服务器负载均衡方法,其特征在于,所述方法还包括:
所述数据库服务器向所述控制服务器发送状态信息,当接收到当前状态信息为故障状态或超过阈值时间没有收到当前状态信息时,将所述数据库服务器的所有任务切换到该数据库服务器对应的备用数据库服务器或者其他数据库服务器。
7.根据权利要求6所述的服务器负载均衡方法,其特征在于,当接收到当前状态信息为故障状态或超过阈值时间没有收到当前状态信息时,将所述数据库服务器的所有任务切换到该数据库服务器对应的备用数据库服务器或者其他数据库服务器具体包括:
当前状态信息为故障状态或超过阈值时间没有收到当前状态信息时,将所述数据库服务器的所有任务统一切换到所述数据库服务器对应的备用数据库服务器;或者
将所述数据库服务器的所有任务根据负载信息切换到其他数据库服务器。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610440518.6A CN105915644B (zh) | 2016-06-17 | 2016-06-17 | 一种服务器负载均衡方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610440518.6A CN105915644B (zh) | 2016-06-17 | 2016-06-17 | 一种服务器负载均衡方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN105915644A CN105915644A (zh) | 2016-08-31 |
CN105915644B true CN105915644B (zh) | 2019-12-06 |
Family
ID=56751321
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201610440518.6A Active CN105915644B (zh) | 2016-06-17 | 2016-06-17 | 一种服务器负载均衡方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN105915644B (zh) |
Family Cites Families (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101252603B (zh) * | 2008-04-11 | 2011-03-30 | 清华大学 | 基于存储区域网络san的集群分布式锁管理方法 |
CN101562543B (zh) * | 2009-05-25 | 2013-07-31 | 阿里巴巴集团控股有限公司 | 一种缓存数据的处理方法、处理系统和装置 |
CN101741908B (zh) * | 2009-12-25 | 2012-07-11 | 青岛朗讯科技通讯设备有限公司 | 一种应用层协议特征的识别方法 |
CN102567106B (zh) * | 2010-12-30 | 2014-10-01 | 中国移动通信集团云南有限公司 | 任务调度方法、系统和装置 |
CN103036979B (zh) * | 2012-12-12 | 2015-07-01 | 广州尚融网络科技有限公司 | 一种服务器负载均衡方法及负载均衡器 |
CN103997526B (zh) * | 2014-05-21 | 2018-05-22 | 中国科学院计算技术研究所 | 一种可扩展负载均衡系统和方法 |
-
2016
- 2016-06-17 CN CN201610440518.6A patent/CN105915644B/zh active Active
Also Published As
Publication number | Publication date |
---|---|
CN105915644A (zh) | 2016-08-31 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10735509B2 (en) | Systems and methods for synchronizing microservice data stores | |
US8055933B2 (en) | Dynamic updating of failover policies for increased application availability | |
CN108733509B (zh) | 用于在集群系统中备份和恢复数据的方法和系统 | |
US10609159B2 (en) | Providing higher workload resiliency in clustered systems based on health heuristics | |
US20180343208A1 (en) | Method and apparatus for disaggregated overlays via application services profiles | |
US20070028239A1 (en) | Dynamic performance management for virtual servers | |
CN103533063A (zh) | 一种可实现web应用资源动态扩展的方法及装置 | |
CN111917846A (zh) | 一种Kafka集群切换方法、装置、系统、电子设备及可读存储介质 | |
US9292371B1 (en) | Systems and methods for preventing failures of nodes in clusters | |
WO2014024863A1 (ja) | 多階層の各ノードを考慮した負荷分散方法 | |
US20120036345A1 (en) | Embedded device and file change notification method of the embedded device | |
CN110677274A (zh) | 一种基于事件的云网络服务调度方法及装置 | |
US11922059B2 (en) | Method and device for distributed data storage | |
US8060773B1 (en) | Systems and methods for managing sub-clusters within a multi-cluster computing system subsequent to a network-partition event | |
CN113326097A (zh) | 一种虚拟机限速方法、装置、设备和计算机存储介质 | |
CN114221994A (zh) | 一种pcie密码卡虚拟化资源动态分配方法 | |
CN110209498B (zh) | 基于私有云的跨可用区资源调度方法 | |
CN111666167A (zh) | 一种对输入事件读取处理优化方法、非易失性存储器及终端设备 | |
CN111045602A (zh) | 集群系统控制方法及集群系统 | |
US8621260B1 (en) | Site-level sub-cluster dependencies | |
CN112965806A (zh) | 用于确定资源的方法和装置 | |
CN105487946A (zh) | 一种故障计算机自动切换方法及装置 | |
CN105915644B (zh) | 一种服务器负载均衡方法 | |
US10110502B1 (en) | Autonomous host deployment in managed deployment systems | |
CN111400241A (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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |