CN103297502B - 一种负载均衡系统及方法 - Google Patents
一种负载均衡系统及方法 Download PDFInfo
- Publication number
- CN103297502B CN103297502B CN201310167105.1A CN201310167105A CN103297502B CN 103297502 B CN103297502 B CN 103297502B CN 201310167105 A CN201310167105 A CN 201310167105A CN 103297502 B CN103297502 B CN 103297502B
- Authority
- CN
- China
- Prior art keywords
- server
- business
- fault
- service
- mark
- 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
Landscapes
- Hardware Redundancy (AREA)
Abstract
本发明公开了一种负载均衡系统,该系统包含管理设备和两台服务器,管理设备监测两台服务器的状态,在检测到任一服务器故障后,控制故障的服务器停止响应与其对应的业务请求,控制正常运行的服务器接收并响应与故障的服务器对应的业务请求;其中,正常运行的服务器与故障的服务器互为热备。本发明还提供了一种负载均衡方法。采用本发明的系统及方法,能够提高服务器系统的资源利用率、切换的平滑度及高可用性。
Description
技术领域
本发明涉及服务器集群系统领域,特别涉及一种负载均衡系统及方法。
背景技术
为保证重要业务的高可用性,业务系统通常采用冗余的部署方案设计系统结构,典型的系统就是双机热备系统。双机热备系统通常使用两台互为备用的机器,当一台机器出现故障时,另一台机器立刻接管故障的机器上的资源、运行业务及向外提供服务。
但是,对于业务系统来说,双机热备系统的两台互为备用的机器不能同时提供完全相同的服务,即对于同一业务请求只能由一台机器来完成,否则就会出现问题,比如负载均衡系统,如果双机热备系统中的两台机器同时响应用户发来的同一请求,可能导致只有在一台机器上完成的任务被交给多台机器去执行,进而使得任务不能正确被完成。
为了实现同一时间只能由一台机器执行的业务的高可用性,业界使用高可用性(HighAvailability,HA)来实现主机器与备机器间的切换,HA通过主机器与备机器之间的心跳信息来判断主机器与备机器的状态,当主机器出现故障时,业务被切换到备机器上运行,以保证业务得到正确完成,但当主机器与备机器之间的心跳出现问题时,主机器与备机器同时运行出现裂脑问题。
为了让执行互斥业务的机器有更高的利用率与并且避免HA心跳问题的发生,通常在双机外设置一台管理设备,来协调双机协同完成任务。图1为现有的负载均衡系统的结构示意图。现结合图1,对现有的负载均衡系统的结构进行说明,具体如下:
现有的负载均衡系统包含的管理设备10与双机热备系统11中的主服务器111连接,以实现与主服务器111之间的信息交互;管理设备10还与双机热备系统11中的从服务器112连接,以实现与从服务器112之间的信息交互;管理设备10判断主服务器111是否能够正常工作,以及在判断主服务器111无法正常工作时,通过发送控制命令的方式来控制主服务器111和从服务器112之间的运行状态,从而实现了主服务器111与从服务器112之间的自动切换。
现有的负载均衡系统在正常运行过程中、一台机器发生故障或是故障消除后的运行过程中,所有业务均基于一台机器运行,另一台机器则完全处于闲置的状态,这样就导致大部分的时间有一台机器完全处于备用的状态,资源闲置浪费的情况比较严重;现有的负载均衡系统中,运行业务的双机之一一旦出现故障,则需将所有业务转移至双机中另一台机器,会将较多时间耗费在业务切换的过程中,再加上接管业务的机器突然加载转移的业务,双机之间切换的平滑度较差,容易导致对外服务的中断、暂停或时延,于整个业务系统的高可用性不利;另外,现有的负载均衡系统中的管理设备若出现故障,即便与管理设备连接的主服务器和从服务器运行正常,该双机由于管理设备的故障也无法对外提供服务,还有待进一步的改进。
发明内容
本发明提供了一种负载均衡系统及方法,用以使得的项目或应用得以实现。
根据本发明的一个方面,提供了一种负载均衡系统,该系统能够提高资源利用率、切换的平滑度及高可用性。
根据本发明的一个方面,提供了一种负载均衡方法,该方法能够提高资源利用率、切换的平滑度及高可用性。
本发明的目的是通过下述技术方案实现的:
本发明提供了一种负载均衡系统,该系统包括:管理设备及两台服务器;
所述管理设备监测所述两台服务器的状态,在检测到任一服务器故障后,控制故障的服务器停止响应与其对应的业务请求,控制正常运行的服务器接收并响应与所述故障的服务器对应的业务请求;
所述正常运行的服务器与所述故障的服务器互为热备。
较佳地,所述管理设备在检测到任一服务器故障后,还根据故障的服务器及正常运行的服务器的状态生成第一业务停运标志及第一业务运行标志,下发所述第一业务停运标志至所述故障的服务器,下发所述第一业务运行标志至所述正常运行的服务器。
较佳地,所述故障的服务器还根据所述第一业务停运标志停止响应与其对应的业务请求;
所述正常运行的服务器还根据接收的所述第一业务运行标志及运行的与所述故障的服务器相同的业务逻辑,接收并响应与其对应的业务请求。
上述系统中,所述第一业务停运标志为所述故障的服务器中停止运行的业务的标志信息;
所述第一业务运行标志为所述正常运行的服务器中开启的所述故障的服务器停止运行的业务的标志信息。
较佳地,所述正常运行的服务器还在接收所述第一业务运行标志前,对外广播与所述故障的服务器故障前所广播的业务不同的业务信息;
所述正常运行的服务器还在接收所述第一业务运行标志后,广播与所述故障的服务器故障前所广播业务相同的业务信息。
较佳地,其特征在于,所述管理设备还在所述故障的服务器恢复后,根据所述正常运行的服务器的状态信息,重新分配所述正常运行的服务器及故障后恢复的服务器的业务。
较佳地,所述正常运行的服务器还根据接收到的表示所述故障的服务器故障恢复的消息,利用负载均衡原理及预设的时间内缓存的响应的业务请求的信息筛选出至少一项业务信息并上报至所述管理设备;
所述响应的业务请求的信息至少包含响应的业务请求时间及响应的请求次数。
较佳地,所述管理设备还根据所述至少一项业务信息及所述两台服务器的状态,生成第二业务运行标志及第二业务停运标志,下发第二业务运行标志至所述故障后恢复的服务器,下发第二业务停运标志至所述正常运行的服务器。
较佳地,所述正常运行的服务器还根据所述第二业务停运标志停止响应与其对应的业务请求;
所述故障后恢复的服务器还根据所述第二业务运行标志及运行的与所述正常运行的服务器相同的业务逻辑,接收并响应与其对应的业务请求。
上述系统中,所述管理设备包含:
故障判定模块,接收所述两台服务器的状态信息,生成故障信息并上报给状态分析模块;所述故障信息至少包含所述故障的服务器的信息;
状态分析模块,根据接收的故障信息生成运行标志分布信息,根据运行标志分布信息生成第一业务停运标志及第一业务运行标志,下发第一业务停运标志至所述故障的服务器,下发第一业务运行标志至所述正常运行的服务器。
较佳地,所述管理设备还包含:发送模块;
所述状态分析模块还根据故障信息生成故障机信息并输出至所述发送模块,
所述发送模块还根据故障信息下发关机指令至所述故障的服务器。
上述系统中,所述任一服务器包含:
状态处理模块,收集其所在的服务器的状态信息,上报状态信息至所述管理设备及标志处理模块;
标志处理模块,根据接收到的状态信息及第一业务停运标志、或者根据接收到的状态信息及第一业务运行标志获得对应的业务运行状态信息,更新存储的业务运行状态信息;
ARP功能模块,关闭系统固有的ARP功能,根据更新后的存储的业务运行状态信息,停止响应与其对应的业务请求,或者根据运行的与所述故障的服务器相同的业务逻辑及更新后的存储的业务运行状态信息,接收并响应与其对应的业务请求。
本发明还提供了一种负载均衡方法,该方法包括:
监测两台服务器的状态,在检测到任一服务器故障后,控制故障的服务器停止响应与其对应的业务请求,控制正常运行的服务器接收并响应与所述故障的服务器对应的业务请求;
所述正常运行的服务器与所述故障的服务器互为热备。
上述方法中,所述控制故障的服务器停止响应与其对应的业务请求包括:
根据故障的服务器及正常运行的服务器的状态生成第一业务停运标志,下发所述第一业务停运标志至所述故障的服务器;
所述故障的服务器根据所述第一业务停运标志停止响应与其对应的业务请求。
上述方法中,所述控制正常运行的服务器接收并响应与所述故障的服务器对应的业务请求包括:
根据故障的服务器及正常运行的服务器的状态生成第一业务运行标志,下发所述第一业务运行标志至与所述正常运行的服务器;
所述正常运行的服务器接收所述第一业务运行标识,根据所述第一业务运行标志及运行的与所述故障的服务器相同的业务逻辑,接收并响应与所述故障的服务器停止的业务对应的业务请求。
较佳地,所述发送第一业务停运标志至故障的服务器之后还包括:
发送关机指令至所述故障的服务器;
所述故障的服务器根据所述关机指令停止响应接收到的业务请求。
较佳地,所述正常运行的服务器接收所述第一业务运行标志之前还包括:
运行与所述故障的服务器相同的业务逻辑,对外广播与所述故障的衡服务器所广播的业务不同的业务信息;
所述正常运行的服务器接收所述第一业务运行标志之后还包括:
广播与所述故障的服务器故障前所广播的业务相同的业务信息。
上述方法中,所述生成第一业务停运标志包括:
根据接收的所述两台服务器的状态信息生成故障信息;所述故障信息至少包含所述故障的服务器的信息;
利用所述故障信息生成运行标志分布信息;
根据运行标志分布信息生成第一业务停运标志。
所述生成第一业务运行标志包括:
根据接收的所述两台服务器的状态信息生成故障信息;所述故障信息至少包含所述故障的服务器的信息;
利用所述故障信息生成运行标志分布信息;
根据运行标志分布信息生成第一业务运行标志。
上述方法中,所述根据接收到的第一业务停运标志停止响应与其对应的业务请求包括:
收集所述故障的服务器的状态信息,根据所述状态信息及第一业务停运标志,更新存储的业务运行状态信息;
根据更新后的存储的业务运行状态信息,停止响应与其对应的业务请求。
上述方法中,所述根据所述第一业务运行标志及运行的与所述故障的服务器相同的业务逻辑,接收并响应与所述故障的服务器停止的业务对应的业务请求包括:
收集所述正常运行的服务器的状态信息,根据所述状态信息及第一业务运行标志,更新存储的业务运行状态信息;
根据运行的与所述故障的服务器相同的业务逻辑及更新后的存储的业务运行状态信息,接收并响应与其对应的业务请求。
较佳地,该方法还包括:
在所述故障的服务器恢复后,根据所述正常运行的服务器的状态信息,重新分配所述正常运行的服务器及故障后恢复的服务器的业务。
上述方法中,所述根据所述正常运行的服务器的状态信息,重新分配所述正常运行的服务器及所述故障后恢复的服务器的业务包括:
所述正常运行的服务器还根据接收到的表示所述故障的服务器故障恢复的消息,利用负载均衡原理及预设的时间内缓存的响应的业务请求的信息,筛选出至少一项业务信息并上报;
根据所述至少一项业务信息及所述两台服务器的状态,生成第二业务运行标志及第二业务停运标志,下发第二业务运行标志至所述故障后恢复的服务器,下发第二业务停运标志至所述正常运行的服务器。
所述响应的业务请求的信息至少包含响应的业务请求时间及响应的请求次数。
较佳地,所述正常运行的服务器还根据所述第二业务停运标志停止响应与其对应的业务请求;
所述故障后恢复的服务器还根据所述第二业务运行标志及运行的与所述正常运行的服务器相同的业务逻辑,接收并响应与其对应的业务请求。
由上述的技术方案可见,本发明的负载均衡系统及方法,互为热备的两台服务器的任一服务器均可以运行与另一服务器相同的业务运行逻辑,以便在任一服务器发生故障时,能够根据接收到的第一业务运行标志进行平滑快速地业务切换,提高了高可用性,并且互为热备的两台服务器在未发生故障时均会根据其存储的业务运行标志接收并响应业务请求,提高了资源利用率。采用本发明的方法及系统,能够提高资源利用率、切换的平滑度及高可用性。
附图说明
图1为现有的负载均衡系统的结构示意图;
图2为本发明负载均衡系统的结构示意图;
图3为本发明负载均衡方法的流程图。
具体实施方式
由于现有的负载均衡系统中大部分的时间(故障期间和正常运行期间)只有一台机器工作,另一台机器完全处于备用的状态,资源闲置浪费的情况比较严重,在业务切换的过程中耗费的时间较多,且管理设备若出现故障,即便与管理设备连接的主服务器和从服务器运行正常,该双机由于管理设备的故障也无法对外提供服务,而本发明的负载均衡系统和方法中,互为热备的两台服务器运行不同的业务,在一台服务器故障时,与其互为热备的服务器由于之前运行了与其相同的业务逻辑,可直接根据管理设备下发的业务标志进行业务切换,节省了切换的时间,且资源闲置浪费的情况较现有技术有很大的改善,另外,本发明的管理设备只用以接收各服务器的状态信息和下发业务标志,不会转发业务请求或业务信息至各服务器,因此,也不会存在现有技术中由于管理设备故障导致各服务器无法提供业务服务的情况,换句话说,本发明的管理设备的故障不会影响业务逻辑的正常完成。
本发明提供了一种负载均衡系统,该系统包含管理设备和两台服务器;管理设备监测两台服务器的状态,在检测到任一服务器故障后,控制故障的服务器停止响应与其对应的业务请求,控制正常运行的服务器接收并响应与故障的服务器对应的业务请求;正常运行的服务器与故障的服务器互为热备。
具体地,管理设备监测两台服务器的状态,在检测到任一服务器故障后,生成第一业务停运标志及第一业务运行标志,下发第一业务停运标志至故障的服务器,下发第一业务运行标志至正常运行的服务器;故障的服务器根据第一业务停运标志停止响应与其对应的业务请求;正常运行的服务器接收第一业务运行标志,根据运行的与故障的服务器相同的业务逻辑及第一业务运行标志,接收并响应与故障的服务器对应的业务请求。其中,第一业务停运标志为故障的服务器中停止运行的业务的标志信息;第一业务运行标志为正常运行的服务器中开启的故障的服务器停止运行的业务的标志信息。
本发明中的业务逻辑为服务器能够收取业务端口上的业务请求信息,转发到后端处理业务请求的设备;本发明的互为热备的两台服务器运行的业务逻辑是相同的,即能够提供相同的业务,只是对外部广播其上能够运行的业务不同而已;本发明的业务标志为业务运行标志或业务停运标志,可通过标志的具体数值对业务运行标志和业务停运标志进行区分。
图2为本发明负载均衡系统的结构示意图。现结合图2,对本发明负载均衡系统的结构进行说明,具体如下:
本发明的负载均衡系统包含:管理设备20和两台服务器。其中,管理设备20和两台服务器运行的业务是负载均衡的管理,本发明仅以包含管理设备20和两台服务器的系统作为负载均衡管理的最小单元进行说明,对于扩展的包含L个最小单元,即L台管理设备和2L台服务器的系统的例子不再逐一举例说明;L为自然数。
本发明的下述实施例仅以两台服务器中的互为热备的第n服务器22和第m服务器23为例进行说明,且以第n服务器22作为故障的服务器的代表,以第m服务器23作为正常运行的服务器的代表。
管理设备20监测第n服务器22和第m服务器23的状态,在检测到第n服务器22故障后,生成第一业务停运标志及第一业务运行标志,下发第一业务停运标志至故障的第n服务器22,下发第一业务运行标志至第m服务器23。其中,管理设备20不转发外部发送的业务请求或业务信息,仅监测与其进行交互的且由其管理的两台服务器、下发业务停运标志和下发业务运行标志,换句话说,管理设备20根据双机(互为热备的两台服务器)的运行状态,决定运行标志在双机(互为热备的两台服务器)中的重新分配,以实现双机(互为热备的两台服务器)的负载均衡。
第n服务器22根据第一业务停运标志停止响应与其对应的业务请求。具体地,第n服务器22正常运行时,根据其存储的第一业务运行标志(业务A和业务B的业务标志),对外广播提供业务A和业务B,收到来自虚拟IP(VIP)关于业务A和/或业务B的ARP请求后,以第n服务器22的介质访问控制(MediaAccessControl,MAC)地址响应ARP请求;第n服务器22发生故障后,根据第一业务停运标志更新保存的第一业务运行标志,即将与业务A和业务B对应的业务标志的数值变为0,停止对外广播提供业务A和业务B,停止响应来自VIP关于业务A和/或业务B的ARP请求。
第m服务器23接收第一业务运行标志,根据运行的与第n服务器22相同的业务逻辑及第一业务运行标志,接收并响应与其对应的业务请求。具体地,具体地,第m服务器23正常运行时,根据其存储的第三业务运行标志(业务C和业务D的业务标志),对外广播提供业务C和业务D,收到来自VIP关于业务C和/或业务D的ARP请求后,以第m服务器23的MAC地址响应ARP请求,同时,第m服务器23和第n服务器22运行相同的业务逻辑,即运行业务A的业务逻辑和业务B的业务逻辑,只是不对外广播提供业务A和业务B而已;第m服务器23在第n服务器22发生故障后,根据第一业务运行标志及其上运行的业务A的业务逻辑和业务B的业务逻辑,除了对外广播提供业务C和业务D外,还对外广播提供业务A和业务B,收到来自VIP关于业务A和/或业务B的ARP请求后,以第m服务器23的MAC地址响应ARP请求。
由于互为热备的第n服务器22和第m服务器23均运行相同的业务逻辑,在第n服务器22故障后,第n服务器22无需将其上故障前运行的业务(业务数据和/或业务信息)转移至第m服务器23,第m服务器23直接根据接收到的第一业务运行标志及运行的业务逻辑,对第n服务器22的业务对应的业务请求进行接收响应,实现了无缝切换,比现有的主备机器间的切换简单快捷,除了第n服务器22发生故障期间只有第m服务器23运行,其余时间互为热备的两台服务器都在运行业务,没有资源闲置,资源利用率高。
为了保证发生故障的服务器在发生故障后能正确地停止响应业务请求,管理设备20在发送了第一业务停运标志至第n服务器22之外,还发送关机指令至第n服务器22,以便第n服务器22在故障后,能正确地停止响应外部发送的业务请求。
其中,管理设备20包含:故障判定模块201和状态分析模块202。
故障判定模块201接收两台服务器的状态信息,生成故障信息并上报给状态分析模块202;故障信息至少包含发生故障的服务器的信息。具体地,故障判定模块201接收第n服务器22和第m服务器23的状态信息,在第n服务器22故障后,生成至少包含第n服务器22的故障信息并上报给状态分析模块202;故障判定模块201可根据预设的时间内是否接收到来自服务器上报的状态信息来判断某一服务器是否发生故障,如果接收到上报的状态信息,则判定该服务器未发生故障,如果未接收到上报的状态信息,则判定该服务器发生故障。
状态分析模块202根据接收的故障信息生成运行标志分布信息,根据运行标志分布信息生成第一业务停运标志及第一业务运行标志,下发第一业务停运标志至故障的服务器,比如第n服务器22,下发第一业务运行标志至正常运行的服务器,比如第m服务器23。其中,运行标志分布信息为服务器上的业务运行标志和业务停运标志的信息;每一个业务都有一个与其对应的业务标志,该业务标志可以表示该业务能够运行,即业务运行标志,比如用1值表示,或者该业务标志表示该业务停止运行,即业务停运标志,比如用0值表示。
为了保证发生故障的服务器在发生故障后能正确地停止响应业务请求,管理设备20还包含发送模块203。具体地,状态分析模块202还根据故障信息发送故障机信息至发送模块203;发送模块203还根据故障机信息下发关机指令至与故障机信息对应的服务器,比如第n服务器22。
其中,第n服务器22和第m服务器23的结构相同,只是在发生故障时ARP功能模块的工作方式不同,现以第n服务器22和第m服务器23分别进行说明,具体如下:
第n服务器22包含:状态处理模块221、标志处理模块222和ARP功能模块223。
状态处理模块221收集第n服务器22的状态信息,上报状态信息至管理设备20及标志处理模块222。其中,上报的状态信息中包含存储的业务运行状态信息中的业务标志及根据业务运行标志进行业务运行的执行结果,比如:表示第n服务器22停运业务A和业务B的业务标志,由于停运业务A和业务B后无相关业务运行结果,所以,故障的第n服务器22只上报表示停运的业务A和业务B的业务标志。
标志处理模块222根据接收到的状态信息及第一业务停运标志获得对应的业务运行状态信息,更新存储的业务运行状态信息。其中,存储的业务运行状态信息至少包含业务标志及运行的业务逻辑信息;业务标志为某一业务是否运行或停运的标志信息;标志处理模块222根据接收到的第一业务停运标志中携带的停运的业务信息,更新存储的业务运行状态信息中运行的业务对应的业务标志,比如:标志处理模块222根据接收到的第一业务停运标志(停运业务A和业务B),将存储的业务运行状态信息中的业务A和业务B的业务标志置0,表示业务A和业务B停止运行。
ARP功能模块223关闭系统固有的地址解析协议(AddressResolutionProtocol,ARP)功能,根据更新后的存储的业务运行状态信息,停止响应与其对应的业务请求。具体地,系统固有的ARP功能是ARP请求中的IP在服务器使用时,服务器自动进行应答,并间隔预设时间广播其使用的IP,而本发明的ARP功能模块223只有在业务标志为表示某一业务运行的业务运行标志时,才响应接收到的ARP请求并广播其使用的IP,比如:第n服务器22的ARP功能模块223在确定存储的业务运行状态信息中包含第一业务停运标志,即业务A和业务B的业务标志为0,不会响应接收到的ARP请求。
第m服务器23包含:状态处理模块231、标志处理模块232和ARP功能模块233。
状态处理模块231收集第m服务器23的状态信息,上报状态信息至管理设备20及标志处理模块232。其中,上报的状态信息中包含存储的业务运行状态信息中的业务标志及根据业务运行标志进行业务运行的执行结果,比如:表示第m服务器23已经运行的业务C和业务D的业务标志以及运行了上述业务后的业务运行结果,如果第n服务器22故障后,还上报表示第m服务器23开始运行业务A和业务B的业务标志,如果运行了业务A和业务B之后,还上报运行了业务A和业务B的业务运行结果。
标志处理模块232根据接收到的状态信息及第一业务运行标志获得对应的业务运行状态信息,更新存储的业务运行状态信息。其中,存储的业务运行状态信息至少包含业务标志及运行的业务逻辑信息;业务标志为某一业务是否运行或停运的标志信息;标志处理模块232根据接收到的第一业务运行标志中携带的开始运行的业务信息,更新存储的业务运行状态信息中停运的业务对应的业务标志,比如:标志处理模块232根据接收到的第一业务运行标志(开始运行业务A和业务B),将存储的业务运行状态信息中的业务A和业务B的业务标志置1,表示开始运行业务A和业务B。
ARP功能模块233关闭系统固有的ARP功能,根据更新后的存储的业务运行状态信息,接收并响应与其对应的业务请求。具体地,系统固有的ARP功能是ARP请求中的IP在服务器使用时,服务器自动进行应答,并间隔预设时间广播其使用的IP,而本发明的ARP功能模块233只有在业务标志为表示某一业务运行的业务运行标志时,才响应接收到的ARP请求并广播其使用的IP,比如:第m服务器23的ARP功能模块233在确定存储的业务运行状态信息中包含第一业务运行标志,即业务A和业务B的业务标志为1,接收并响应ARP请求。
本发明的系统不光在服务器故障时能够实现快捷简单地切换和负载均衡,在故障服务器恢复后,本发明的系统还充分考虑到负载均衡问题,即将业务恢复到互为热备的两台服务器各运行一部分业务的状态时,根据当前时刻各种业务所消耗的资源,按照分配后互为热备的两台服务器之间对外业务回应次数均衡的原则重新分配业务标志。
具体地,正常运行的服务器,比如第m服务器23,缓存故障的服务器,比如第n服务器22,故障期间响应的业务请求的信息,根据接收到的表示故障的服务器(第n服务器22)故障恢复的消息,利用负载均衡原理及预设的时间内响应的业务请求的信息筛选出至少一项业务,上报至少一项业务信息至管理设备20。其中,响应的业务请求的信息至少包含响应的业务请求时间及响应的请求次数;至少一项业务为正常运行的服务器上运行的业务中的一部分业务,可以包含故障的服务器上运行的业务和/或正常运行的服务器上一直运行的业务;负载均衡原理即将业务的热度或占用系统资源的情况与服务器对外业务回应次数相结合,使互为热备的两台服务器所承载的负载相对平衡的原则。
管理设备20根据至少一项业务信息,生成第二业务运行标志及第二业务停运标志,下发第二业务运行标志至第n服务器22,下发第二业务停运标志至第m服务器23。其中,第二业务运行标志和第二业务停运标志对应的业务为第m服务器23中停止运行的业务而由第n服务器22开始运行的业务,即与第m服务器23上报的至少一项业务信息对应的业务。
比如:互为热备的两台服务器中,正常运行的正常运行的服务器接收到表示故障的服务器故障恢复的消息,统计最近的预设时间段内其响应的所有业务请求的总次数及各业务VIP的请求次数,根据均衡的原则筛选出一部分的业务,以使互为热备的两台服务器在故障的服务器恢复运行后的重新分配的业务完成之后,互为热备的两台服务器单位时间内对外响应的次数最为接近。
故障后恢复的第n服务器22根据第二业务运行标志及运行的与第m服务器23相同的业务逻辑,开始接收并响应与第二业务运行标志对应的业务;第m服务器23根据第二业务停运标志停止响应与第二业务停运标志对应的业务。具体地,第m服务器23根据第二业务停运标志,停止响应与其上报的业务信息对应的业务,故障后恢复的第n服务器22根据第二业务运行标志及运行的与第m服务器23相同的业务逻辑,开始接收并响应与第m服务器23上报的业务信息对应的业务。
图3为本发明负载均衡方法的流程图。现结合图3,对本发明负载均衡方法进行说明,具体如下:
步骤30:监测两台服务器的状态;
该步骤可由管理设备执行,具体地,可根据预设的时间内是否接收到来自服务器上报的状态信息来判断某一服务器是否发生故障,如果接收到上报的状态信息,则判定该服务器未发生故障,如果未接收到上报的状态信息,则判定该服务器发生故障。
比如:以两台服务器包含互为热备的第n服务器和第m服务器为例,管理设备监测第n服务器和第m服务器的状态,若在预设的时间内未接收到第n服务器的状态信息,仅接收到第m服务器的状态信息,则判定第n服务器故障,第m服务器正常运行。
步骤31:在检测到任一服务器故障后,生成第一业务停运标志及第一业务运行标志;
该步骤可由管理设备执行,包括:根据接收到的服务器的状态信息生成故障信息;根据故障信息生成运行标志分布信息;根据运行标志分布信息生成第一业务停运标志及第一业务运行标志。
其中,故障信息中至少包含故障的服务器的信息;运行标志分布信息为服务器上的业务运行标志和业务停运标志的信息;第一业务停运标志和第一业务运行标志是针对相同的一个或多个业务的互斥的数值,比如:第一业务停运标志的数值为0,则第一业务运行标志的数值即为1。
比如:第n服务器上运行业务A和业务B,第m服务器上运行业务C和业务D,运行标志分布信息为第n服务器上的业务A和业务B的业务标志的数值为1、第n服务器上的业务C和业务D的业务标志的数值为0、第m服务器上的业务A和业务B的业务标志的数值为0、及第m服务器上的业务C和业务D的业务标志的数值为1;在第n服务器故障后,运行标志分布信息为第n服务器上的业务A和业务B的业务标志的数值为0、第n服务器上的业务C和业务D的业务标志的数值为0、第m服务器上的业务A和业务B的业务标志的数值为1、及第m服务器上的业务C和业务D的业务标志的数值为1。
步骤32:下发业务标志至故障的服务器及正常运行的服务器;
该步骤可由管理设备执行,包括:下发第一业务停运标志至故障的服务器,下发第一业务运行标志至正常运行的服务器。
比如:对于第m服务器,在第n服务器故障前和故障后,均运行业务C和业务D,下发的第一业务运行标志可以是只针对新增的业务的业务标志,即业务A和业务B的表示需开启运行的业务标志,相应的,第一业务停运标志也可为只针对曾经运行的业务的表示停运的标志,即业务A和业务B的表示需停止运行的业务标志,当然,上述的第一业务停运标志和第一业务运行标志中也可包含关于业务C和业务D的业务标志,即对于第n服务器为表示业务C和业务D停止运行的业务标志,对于第m服务器为表示业务C和业务D开始运行的业务标志。
步骤33:故障的服务器及正常运行的服务器根据接收到的业务标志处理业务请求;
该步骤包括:故障的服务器根据第一业务停运标志停止响应与其对应的业务请求,正常运行的服务器接收第一业务运行标志,根据第一业务运行标志及运行的与故障的服务器相同的业务逻辑,接收并响应与其对应的业务请求。
其中,根据接收到的第一业务停运标志停止响应与其对应的业务请求包括:收集服务器的状态信息,根据状态信息及第一业务停运标志,更新存储的业务运行状态信息;根据更新后的存储的业务运行状态信息,停止响应与其对应的业务请求。
其中,根据第一业务运行标志接收并响应与其对应的业务请求包括:收集服务器的状态信息,根据状态信息及第一业务运行标志,更新存储的业务运行状态信息;根据运行的与故障的服务器相同的业务逻辑及更新后的存储的业务运行状态信息,接收并响应与故障的服务器停止运行的业务对应的业务请求。
为了保证请求者能够得知正确的提供服务的设备、且故障的设备上的业务能够被正确地完成,故障的服务器还根据第一业务停运标志停止对外广播与其对应的业务信息,正常运行的服务器还根据第一业务运行标志开始对外广播与其对应的业务信息,即开始对外广播与故障的服务器停止的业务对应的业务信息。
比如:第n服务器发生故障后,根据第一业务停运标志,清除保存的第一业务运行标志,即清除与业务A和业务B对应的业务标志的数值,将其变为0,停止对外广播提供业务A和业务B,停止响应来自VIP关于业务A和/或业务B的ARP请求;第m服务器根据第一业务运行标志及其上运行的业务A的业务逻辑和业务B的业务逻辑,除了对外广播提供业务C和业务D外,还对外广播提供业务A和业务B,收到来自VIP关于业务A和/或业务B的ARP请求后,以第m服务器的MAC地址响应ARP请求。
为了保证故障的服务器恢复后的平滑切换以及对外提供服务的平稳性,本发明的方法还包括:
步骤34:正常运行的服务器根据故障恢复消息,上报筛选出的至少一项业务信息;
该步骤包括:正常运行的服务器缓存故障的服务器故障期间响应的业务请求的信息;根据接收到的表示故障的服务器故障恢复的消息,利用负载均衡原理及预设的时间内响应的业务请求的信息筛选出至少一项业务;上报至少一项业务信息。
其中,响应的业务请求的信息至少包含响应的业务请求时间及响应的请求次数;至少一项业务为正常运行的服务器上运行的业务中的一部分业务,可以包含故障的服务器上运行的业务和/或正常运行的服务器上一直运行的业务;负载均衡原理即将业务的热度或占用系统资源的情况与服务器对外业务回应次数相结合,使互为热备的两台服务器所承载的负载相对平衡的原则。
步骤35:根据至少一项业务信息重新分配互为热备的两台服务器的业务。
该步骤可由管理设备执行,包括:根据至少一项业务信息及故障恢复消息,生成第二业务运行标志及第二业务停运标志,下发第二业务运行标志至故障后恢复的服务器,下发第二业务停运标志至正常运行的服务器。
其中,故障后恢复的服务器即为步骤34之前故障的后又恢复的服务器,比如第n服务器,则另一台正常运行的服务器即为第m服务器。
该步骤具体可根据故障恢复消息中携带的恢复运行的服务器的信息及至少一项业务信息,生成运行标志分布信息,根据运行标志分布信息再生成对于每一台服务器的业务标志;其中,在生成运行标志分布信息时要根据均衡原则分配业务,充分考虑各业务耗费的资源及业务的热度等信息。
故障后恢复的第n服务器22根据第二业务运行标志及运行的与第m服务器23相同的业务逻辑,开始接收并响应与第二业务运行标志对应的业务;第m服务器23根据第二业务停运标志停止响应与第二业务停运标志对应的业务。具体地,第m服务器23根据第二业务停运标志,停止响应与其上报的业务信息对应的业务,故障后恢复的第n服务器22根据第二业务运行标志及运行的与第m服务器23相同的业务逻辑,开始接收并响应与第m服务器23上报的业务信息对应的业务。
为了保证发生故障的服务器在发生故障后能正确地停止响应业务请求,步骤32中发送第一业务停运标志至故障的服务器之后还包括:发送关机指令至故障的服务器;则步骤33还包括:故障的服务器根据关机指令停止响应接收到的业务请求。
本发明的上述较佳实施例中,采用专用的ARP功能模块替换系统固有的ARP功能,有选择的进行ARP请求回应,解决了进行负载均衡管理的服务器之间需互斥使用VIP资源的难题,多个业务逻辑可以同时在不同的机器上完成;服务器正常运行时,对外声称自己能提供的服务,利用服务器的故障本身不能广播其提供的服务,实现业务转移控制,减少所产生的裂脑的危害且控制更简单;管理设备只负责进行负载均衡管理的服务器的状态监测与业务标志的分发,业务信息不经过管理设备,使得管理设备故障不影响进行负载均衡管理的服务器正常提供业务;互为热备的两台服务器同时对外广播提供不同业务,以便请求方根据广播的信息向对应的服务器发送业务请求,服务器利用率高,互为热备的两台服务器由于运行了相同的业务逻辑,业务切换平滑;在故障的服务器恢复后,管理设备可根据服务器的负载情况重新分配互为热备的两台服务器对应的业务标志,以便进行更好地负载均衡管理。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分步骤是可以通过程序来指令相关的硬件来完成,该程序可以存储于一计算机可读取存储介质中,如:ROM/RAM、磁碟、光盘等。
以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以作出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。
Claims (17)
1.一种负载均衡系统,其特征在于,该系统包括:管理设备及两台服务器;
所述管理设备监测所述两台服务器的状态,在检测到任一服务器故障后,控制故障的服务器停止响应与其对应的业务请求,控制正常运行的服务器接收并响应与所述故障的服务器对应的业务请求;
所述正常运行的服务器与所述故障的服务器互为热备;
所述管理设备在检测到任一服务器故障后,还根据故障的服务器及正常运行的服务器的状态生成第一业务停运标志及第一业务运行标志,下发所述第一业务停运标志至所述故障的服务器,下发所述第一业务运行标志至所述正常运行的服务器;
所述故障的服务器还根据所述第一业务停运标志停止响应与其对应的业务请求;
所述正常运行的服务器还根据接收的所述第一业务运行标志及运行的与所述故障的服务器相同的业务逻辑,接收并响应与其对应的业务请求;
所述管理设备还在所述故障的服务器恢复后,根据所述正常运行的服务器的状态信息,重新分配所述正常运行的服务器及故障后恢复的服务器的业务。
2.如权利要求1所述的系统,其特征在于,所述第一业务停运标志为所述故障的服务器中停止运行的业务的标志信息;
所述第一业务运行标志为所述正常运行的服务器中开启的所述故障的服务器停止运行的业务的标志信息。
3.如权利要求1所述的系统,其特征在于,所述正常运行的服务器还在接收所述第一业务运行标志前,对外广播与所述故障的服务器故障前所广播的业务不同的业务信息;
所述正常运行的服务器还在接收所述第一业务运行标志后,广播与所述故障的服务器故障前所广播业务相同的业务信息。
4.如权利要求1所述的系统,其特征在于,所述正常运行的服务器还根据接收到的表示所述故障的服务器故障恢复的消息,利用负载均衡原理及预设的时间内缓存的响应的业务请求的信息筛选出至少一项业务信息并上报至所述管理设备;
所述响应的业务请求的信息至少包含响应的业务请求时间及响应的请求次数。
5.如权利要求4所述的系统,其特征在于,所述管理设备还根据所述至少一项业务信息及所述两台服务器的状态,生成第二业务运行标志及第二业务停运标志,下发第二业务运行标志至所述故障后恢复的服务器,下发第二业务停运标志至所述正常运行的服务器。
6.如权利要求5所述的系统,其特征在于,所述正常运行的服务器还根据所述第二业务停运标志停止响应与其对应的业务请求;
所述故障后恢复的服务器还根据所述第二业务运行标志及运行的与所述正常运行的服务器相同的业务逻辑,接收并响应与其对应的业务请求。
7.如权利要求1所述的系统,其特征在于,所述管理设备包含:
故障判定模块,接收所述两台服务器的状态信息,生成故障信息并上报给状态分析模块;所述故障信息至少包含所述故障的服务器的信息;
状态分析模块,根据接收的故障信息生成运行标志分布信息,根据运行标志分布信息生成第一业务停运标志及第一业务运行标志,下发第一业务停运标志至所述故障的服务器,下发第一业务运行标志至所述正常运行的服务器。
8.如权利要求7所述的系统,其特征在于,所述管理设备还包含:发送模块;
所述状态分析模块还根据故障信息生成故障机信息并输出至所述发送模块,
所述发送模块还根据故障信息下发关机指令至所述故障的服务器。
9.如权利要求1所述的系统,其特征在于,所述任一服务器包含:
状态处理模块,收集其所在的服务器的状态信息,上报状态信息至所述管理设备及标志处理模块;
标志处理模块,根据接收到的状态信息及第一业务停运标志、或者根据接收到的状态信息及第一业务运行标志获得对应的业务运行状态信息,更新存储的业务运行状态信息;
ARP功能模块,关闭系统固有的ARP功能,根据更新后的存储的业务运行状态信息,停止响应与其对应的业务请求,或者根据运行的与所述故障的服务器相同的业务逻辑及更新后的存储的业务运行状态信息,接收并响应与其对应的业务请求。
10.一种负载均衡方法,其特征在于,该方法包括:
监测两台服务器的状态,在检测到任一服务器故障后,控制故障的服务器停止响应与其对应的业务请求,控制正常运行的服务器接收并响应与所述故障的服务器对应的业务请求;
所述正常运行的服务器与所述故障的服务器互为热备;
所述控制故障的服务器停止响应与其对应的业务请求包括:
根据故障的服务器及正常运行的服务器的状态生成第一业务停运标志,下发所述第一业务停运标志至所述故障的服务器;
所述故障的服务器根据所述第一业务停运标志停止响应与其对应的业务请求;
所述控制正常运行的服务器接收并响应与所述故障的服务器对应的业务请求包括:
根据故障的服务器及正常运行的服务器的状态生成第一业务运行标志,下发所述第一业务运行标志至与所述正常运行的服务器;
所述正常运行的服务器接收所述第一业务运行标识,根据所述第一业务运行标志及运行的与所述故障的服务器相同的业务逻辑,接收并响应与所述故障的服务器停止的业务对应的业务请求;
在所述故障的服务器恢复后,根据所述正常运行的服务器的状态信息,重新分配所述正常运行的服务器及故障后恢复的服务器的业务。
11.如权利要求10所述的方法,其特征在于,发送第一业务停运标志至故障的服务器之后还包括:
发送关机指令至所述故障的服务器;
所述故障的服务器根据所述关机指令停止响应接收到的业务请求。
12.如权利要求10所述的方法,其特征在于,所述正常运行的服务器接收所述第一业务运行标志之前还包括:
运行与所述故障的服务器相同的业务逻辑,对外广播与所述故障的服务器所广播的业务不同的业务信息;
所述正常运行的服务器接收所述第一业务运行标志之后还包括:
广播与所述故障的服务器故障前所广播的业务相同的业务信息。
13.如权利要求10所述的方法,其特征在于,所述生成第一业务停运标志包括:
根据接收的所述两台服务器的状态信息生成故障信息;所述故障信息至少包含所述故障的服务器的信息;
利用所述故障信息生成运行标志分布信息;
根据运行标志分布信息生成第一业务停运标志;
所述生成第一业务运行标志包括:
根据接收的所述两台服务器的状态信息生成故障信息;所述故障信息至少包含所述故障的服务器的信息;
利用所述故障信息生成运行标志分布信息;
根据运行标志分布信息生成第一业务运行标志。
14.如权利要求10所述的方法,其特征在于,所述根据接收到的第一业务停运标志停止响应与其对应的业务请求包括:
收集所述故障的服务器的状态信息,根据所述状态信息及第一业务停运标志,更新存储的业务运行状态信息;
根据更新后的存储的业务运行状态信息,停止响应与其对应的业务请求。
15.如权利要求10所述的方法,其特征在于,所述根据所述第一业务运行标志及运行的与所述故障的服务器相同的业务逻辑,接收并响应与所述故障的服务器停止的业务对应的业务请求包括:
收集所述正常运行的服务器的状态信息,根据所述状态信息及第一业务运行标志,更新存储的业务运行状态信息;
根据运行的与所述故障的服务器相同的业务逻辑及更新后的存储的业务运行状态信息,接收并响应与其对应的业务请求。
16.如权利要求10所述的方法,其特征在于,所述根据所述正常运行的服务器的状态信息,重新分配所述正常运行的服务器及所述故障后恢复的服务器的业务包括:
所述正常运行的服务器还根据接收到的表示所述故障的服务器故障恢复的消息,利用负载均衡原理及预设的时间内缓存的响应的业务请求的信息,筛选出至少一项业务信息并上报;
根据所述至少一项业务信息及所述两台服务器的状态,生成第二业务运行标志及第二业务停运标志,下发第二业务运行标志至所述故障后恢复的服务器,下发第二业务停运标志至所述正常运行的服务器;
所述响应的业务请求的信息至少包含响应的业务请求时间及响应的请求次数。
17.如权利要求16所述的方法,其特征在于,所述正常运行的服务器还根据所述第二业务停运标志停止响应与其对应的业务请求;
所述故障后恢复的服务器还根据所述第二业务运行标志及运行的与所述正常运行的服务器相同的业务逻辑,接收并响应与其对应的业务请求。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310167105.1A CN103297502B (zh) | 2013-05-08 | 2013-05-08 | 一种负载均衡系统及方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310167105.1A CN103297502B (zh) | 2013-05-08 | 2013-05-08 | 一种负载均衡系统及方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN103297502A CN103297502A (zh) | 2013-09-11 |
CN103297502B true CN103297502B (zh) | 2016-03-23 |
Family
ID=49097805
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201310167105.1A Active CN103297502B (zh) | 2013-05-08 | 2013-05-08 | 一种负载均衡系统及方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN103297502B (zh) |
Families Citing this family (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104954157B (zh) * | 2014-03-27 | 2018-12-04 | 中国移动通信集团湖北有限公司 | 一种故障自愈方法及系统 |
CN104283950B (zh) * | 2014-09-29 | 2019-01-08 | 杭州华为数字技术有限公司 | 一种业务请求处理的方法、装置及系统 |
CN104486152B (zh) * | 2014-12-11 | 2019-04-12 | 北京国双科技有限公司 | 网络系统运行状态检测方法及装置和负载均衡方法及装置 |
CN106708826A (zh) * | 2015-07-30 | 2017-05-24 | 中兴通讯股份有限公司 | 数据处理及查询方法、装置 |
CN106550009B (zh) * | 2016-09-20 | 2020-01-21 | 海能达通信股份有限公司 | 一种业务处理方法、系统及装置 |
CN107806906A (zh) * | 2017-12-04 | 2018-03-16 | 广州市吉华勘测股份有限公司 | 一种高大模板支撑系统的监测系统和方法 |
CN110493051A (zh) * | 2019-08-22 | 2019-11-22 | 深圳联友科技有限公司 | 一种负载均衡通讯方法及系统 |
CN110572283B (zh) * | 2019-08-30 | 2022-05-17 | 西南电子技术研究所(中国电子科技集团公司第十研究所) | 机载平台服务交互接力控制系统 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101399850A (zh) * | 2008-10-15 | 2009-04-01 | 中兴通讯股份有限公司 | 一种控制应用服务器进程的方法及其系统 |
CN102231681A (zh) * | 2011-06-27 | 2011-11-02 | 中国建设银行股份有限公司 | 一种高可用集群计算机系统及其故障处理方法 |
CN102916825A (zh) * | 2011-08-01 | 2013-02-06 | 中兴通讯股份有限公司 | 一种双机热备系统的管理设备、管理方法及双机热备系统 |
-
2013
- 2013-05-08 CN CN201310167105.1A patent/CN103297502B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101399850A (zh) * | 2008-10-15 | 2009-04-01 | 中兴通讯股份有限公司 | 一种控制应用服务器进程的方法及其系统 |
CN102231681A (zh) * | 2011-06-27 | 2011-11-02 | 中国建设银行股份有限公司 | 一种高可用集群计算机系统及其故障处理方法 |
CN102916825A (zh) * | 2011-08-01 | 2013-02-06 | 中兴通讯股份有限公司 | 一种双机热备系统的管理设备、管理方法及双机热备系统 |
Also Published As
Publication number | Publication date |
---|---|
CN103297502A (zh) | 2013-09-11 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN103297502B (zh) | 一种负载均衡系统及方法 | |
CN202798798U (zh) | 基于云计算技术的高可用系统 | |
US10601657B2 (en) | Instance node management method and management device | |
EP3620905B1 (en) | Method and device for identifying osd sub-health, and data storage system | |
US11307943B2 (en) | Disaster recovery deployment method, apparatus, and system | |
CN101022363B (zh) | 网络存储设备的故障保护方法及装置 | |
CN102355369B (zh) | 虚拟化集群系统及其处理方法和设备 | |
CN105159798A (zh) | 一种虚拟机的双机热备方法、双机热备管理服务器和系统 | |
CN104158707A (zh) | 一种检测并处理集群脑裂的方法和装置 | |
CN101110776B (zh) | 数据业务的备份方法、备份装置与备份系统 | |
CN105095001A (zh) | 分布式环境下虚拟机异常恢复方法 | |
US10317985B2 (en) | Shutdown of computing devices | |
CN103532753A (zh) | 一种基于内存换页同步的双机热备方法 | |
CN108199962B (zh) | 地址迁移方法、装置、网络设备及可读存储介质 | |
CN101873223A (zh) | 基于ip切换的n+m服务备份机制 | |
CN103546315A (zh) | 一种dhcp服务器的备份系统、方法及设备 | |
CN105095008A (zh) | 一种适用于集群系统的分布式任务故障冗余方法 | |
CN103560907A (zh) | 双机负载均衡设备的管理方法和装置 | |
CN104468217A (zh) | 一种1394网络管理者故障下的网络重建方法 | |
CN101482829A (zh) | 集群系统、处理装置及集群系统冗余方法 | |
CN102571311B (zh) | 主备切换的通讯系统和通讯方法 | |
CN100362484C (zh) | 多机备份的方法 | |
CN102239665A (zh) | 管理业务的方法及装置 | |
CN112201378A (zh) | 基于核电厂dcs平台的热备切换方法、系统、终端及介质 | |
CN102868594B (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 | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
C41 | Transfer of patent application or patent right or utility model | ||
TR01 | Transfer of patent right |
Effective date of registration: 20170118 Address after: 266100 Shandong Province, Qingdao city Laoshan District Songling Road No. 399 Patentee after: Poly Polytron Technologies Inc Address before: 266061 Laoshan, Qingdao province Hongkong District No. East Road, room 248, room 131 Patentee before: Hisense Media Networks Co., Ltd. |