CN116233137B - 一种基于集群的负载分担和备份方法及装置 - Google Patents
一种基于集群的负载分担和备份方法及装置 Download PDFInfo
- Publication number
- CN116233137B CN116233137B CN202310129009.1A CN202310129009A CN116233137B CN 116233137 B CN116233137 B CN 116233137B CN 202310129009 A CN202310129009 A CN 202310129009A CN 116233137 B CN116233137 B CN 116233137B
- Authority
- CN
- China
- Prior art keywords
- cluster
- clusters
- backup
- target
- load sharing
- 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
- 238000000034 method Methods 0.000 title claims abstract description 20
- 230000036541 health Effects 0.000 claims abstract description 49
- 238000012544 monitoring process Methods 0.000 claims abstract description 22
- 230000004083 survival effect Effects 0.000 claims description 79
- 238000001514 detection method Methods 0.000 claims description 6
- 230000003862 health status Effects 0.000 claims description 6
- 238000010586 diagram Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 238000011084 recovery 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/1029—Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers using data related to the state of servers by a load balancer
-
- 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
-
- 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
-
- 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/1097—Protocols in which an application is distributed across nodes in the network for distributed storage of data in networks, e.g. transport arrangements for network file system [NFS], storage area networks [SAN] or network attached storage [NAS]
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer Hardware Design (AREA)
- General Engineering & Computer Science (AREA)
- Hardware Redundancy (AREA)
- Debugging And Monitoring (AREA)
Abstract
本发明公开了一种基于集群的负载分担和备份方法及装置,该方法包括:对集群进行定期监测,根据所述集群的健康状况确定健康集群组和不健康集群组;根据所述集群的权重和优先级,将所述不健康集群组的流量向所述健康集群组进行负载分担和备份;接收并解析客户端请求,得到执行任务,并从所述健康集群组中确定目标集群,以及目标服务器节点;将所述执行任务发送至所述目标集群中的所述目标服务器节点执行,并返回执行结果;其中,所述负载分担和备份包括根据集群和集群内的服务器节点的健康状态进行集群间负载分担和备份,以及集群内负载分担和备份,从而提升了多集群间负载均衡的效率,以及集群的工作负载能力、可靠性和数据安全性。
Description
技术领域
本申请涉及数据库技术领域,更具体地,涉及一种基于集群的负载分担和备份方法及装置。
背景技术
负载均衡,英文名称为LoadBalance,其含义就是指将同类负载(工作任务)进行平衡、分摊到多个操作单元上进行运行,例如FTP服务器、Web服务器、企业核心应用服务器和其它主要任务服务器等,从而协同完成工作任务。
负载均衡构建在原有网络结构之上,它提供了一种透明且廉价有效的方法扩展服务器和网络设备的带宽、加强网络数据处理能力、增加吞吐量、提高网络的可用性和灵活性。
企业经常基于业务分类或者灾备要求建立不同的服务器集群。目前的负载均衡算法只能针对同一集群的后端的主机进行负载均衡,而不能在不同集群后端的主机之间进行集群间负载均衡,即根据负载均衡算法、集群的健康状态、集群备份模式和流量分担模式,对多个集群进行健康监测、分组和选择,然后经过二次的负载均衡算法在集群内部进行主机选择。其负载均衡的应用模式分为两种:流量分担和集群备份。其中,集群备份模式包括主:备模式,主:主模式,1:N备份,N:1备份和M:N备份,通过这些集群备份模式能够灵活的实现两地三中心的自动切换。流量分担模式,可以在多个主集群之间根据地理位置、权重、客户端分类等因素,进行流量分担。
综上所述,面向多个集群如何在集群间负载均衡、流量分担和备份,是整个行业中亟需解决的一个技术难题。
基于此,有必要引入一种新的方法及装置,能够根据负载均衡算法、集群的健康状态、集群备份模式和流量分担模式,对多个集群进行集群间负载均衡、流量分担和备份,以解决现有技术无法针对多个集群实现集群间负载均衡、流量分担和备份的技术难题,进而提升多集群间负载均衡的效率,以及集群的工作负载能力、可靠性和数据安全性。
发明内容
针对上面提到的技术问题,本发明提供一种基于集群的负载分担和备份的方法及装置,通过对集群进行定期监测,根据所述集群的权重和优先级,将所述不健康集群组的流量向所述健康集群组进行负载分担和备份,解决了现有技术无法针对多个集群实现集群间负载均衡、流量分担和备份的技术难题,进而实现了根据负载均衡算法、集群的健康状态、集群备份模式和流量分担模式,对多个集群进行集群间负载均衡、流量分担和备份,从而提升了多集群间负载均衡的效率,以及集群的工作负载能力、可靠性和数据安全性。
本发明提供一种基于集群的负载分担和备份方法,所述方法包括:
S101,对集群进行定期监测,根据所述集群的健康状况确定健康集群组和不健康集群组;
S102,根据所述集群的权重和优先级,将所述不健康集群组的流量向所述健康集群组进行负载分担和备份;
S103,接收并解析客户端请求,得到执行任务,并从所述健康集群组中确定目标集群,以及目标服务器节点;
S104,将所述执行任务发送至所述目标集群中的所述目标服务器节点执行,并返回执行结果;
其中,所述负载分担和备份包括根据集群和集群内的服务器节点的健康状态进行集群间负载分担和备份,以及集群内负载分担和备份。
如上所述,所述S101,对集群进行定期监测,根据所述集群的健康状况确定健康集群组和不健康集群组的步骤包括:
对所述集群和所述集群内的服务器节点的权重和优先级进行初始化设置,并根据所述集群内的服务器节点存活数量和预设最小存活数阈值将所述集群分为两组,分别为健康集群组和不健康集群组;
其中,所述预设最小存活数阈值根据所述集群中服务器节点的总数以及最小存活比例设定,
预设最小存活数阈值=所述集群中服务器节点的总数*最小存活比例,
或根据业务需要设定。
如上所述,所述根据所述集群内的服务器节点存活数量和预设最小存活数阈值将所述集群分为两组,分别为健康集群组和不健康集群组的步骤为:
1)定期统计所述集群内的服务器节点存活数量,并与所述预设最小存活数阈值进行比较,标记所述集群的健康状况;
若所述服务器节点存活数量大于或等于所述预设最小存活数阈值,则将所述集群标记为健康集群,并划分至所述健康集群组;
若所述服务器节点存活数量小于所述预设最小存活数阈值,则将所述集群标记为不健康集群,从所述健康集群组划分至所述不健康集群组,并对所述不健康集群进行负载分担和备份。
如上所述,所述定期统计所述集群内的服务器节点存活数量,并与所述预设最小存活数阈值进行比较,标记所述集群的健康状况的步骤,还包括所述集群内存活服务器节点统计的步骤,具体为:
1)定期向各所述集群内的所有服务器节点发送存活状态监测广播通知,并返回节点监测信息;
2)根据所述节点监测信息判断并标记所述服务器节点的存活状态;
3)统计各所述集群内的服务器节点存活数量;
其中,
所述节点监测信息包括3个字段,分别为服务器编号、端口号、存活状态;
所述存活状态包括2个字段,分别为存活和不存活,根据所述服务器节点是否正常工作确定,如果所述服务器节点正常工作,则标记所述服务器节点的存活状态为存活,如果所述服务器节点不正常工作,则标记所述服务器节点的存活状态为不存活。
如上所述,所述集群间负载分担和备份的步骤包括:
根据所述集群间的集群负载备份模式,从所述健康集群组中选择负载分担目标集群,将所述不健康集群的流量向所述负载分担目标集群进行负载分担和备份;
其中,
所述集群间的集群负载备份模式包括3种,分别为多主:多备模式、主:主模式和多主:一备模式;
当所述集群间的集群负载备份模式为多主:多备模式时,
所述健康集群组由多个主集群和多个备集群构成,所述主集群被标记为不健康集群后,选择所述备集群为负载分担目标集群,将所述主集群已承载的全部执行任务迁移至所述备集群,并由所述备集群承载和响应所述主集群承担的客户端请求;
当所述集群间的集群负载备份模式为主:主模式时,
所述健康集群组由至少两个主集群构成,所述主集群被标记为不健康集群后,将所述主集群已承载的全部执行任务均衡迁移至其它所述主集群,并由其它所述主集群均衡承载和响应所述主集群承担的客户端请求;
当所述集群间的集群负载备份模式为多主:一备模式时,
所述健康集群组由多个主集群和一个备集群构成,所述主集群被标记为不健康集群后,选择所述备集群为负载分担目标集群,将所述主集群已承载的全部执行任务迁移至所述备集群,并由所述备集群承载和响应所述主集群承担的客户端请求。
如上所述,所述集群间负载分担和备份的步骤还包括:
当所述集群由不健康集群恢复为健康集群后,将所述集群标记为健康集群,并将所述负载分担目标集群承载和分担的全部执行任务和所述客户端请求迁回至所述集群。
如上所述,所述集群内负载分担和备份的步骤为:
根据各所述负载分担目标集群中存活的各所述服务器节点的所述权重、所述优先级,确定负载分担目标服务器节点;
将所述负载分担目标集群承载和分担的所述执行任务和所述客户端请求均衡分配至所述负载分担目标服务器节点。
如上所述,所述S103,接收并解析客户端请求,得到执行任务,并从所述健康集群组中确定目标集群,以及目标服务器节点的步骤,具体为:
接受所述客户端请求,对所述客户端请求进行解析得到所述执行计划;
根据所述健康集群的权重和优先级,从所述健康集群组中确定目标集群;
根据各所述服务器节点的权重和优先级,从所述目标集群中确定目标服务器节点。
如上所述,所述S104,将所述执行任务发送至所述目标集群中的所述目标服务器节点执行,并返回执行结果的步骤,具体为:
将所述执行任务发送至所述目标集群,并由所述目标集群中的主服务器节点将所述执行任务均衡分配到所述目标服务器节点;
所述目标服务器节点执行完成所述执行任务后,向所述目标集群中的主服务器节点处理结果;
所述目标集群中的主服务器节点根据所述处理结果获取执行结果,并返回给客户端。
相应地,本发明还提供了一种基于集群的负载分担和备份装置,所述装置包括健康检测模块、分担备份模块、执行确定模块和返回模块;
其中,
所述健康检测模块,用于对集群进行定期监测,根据所述集群的健康状况确定健康集群组和不健康集群组;
所述分担备份模块,用于根据所述集群的权重和优先级,将所述不健康集群组的流量向所述健康集群组进行负载分担和备份;
所述执行确定模块,用于接收并解析客户端请求,得到执行任务,并从所述健康集群组中确定目标集群,以及目标服务器节点;
所述返回模块,用于将所述执行任务发送至所述目标集群中的所述目标服务器节点执行,并返回执行结果;
所述负载分担和备份包括根据集群和集群内的服务器节点的健康状态进行集群间负载分担和备份,以及集群内负载分担和备份。
本发明通过应用以上技术方案,实现了通过对集群进行定期监测,根据所述集群的权重和优先级,将所述不健康集群组的流量向所述健康集群组进行负载分担和备份,解决了现有技术无法针对多个集群实现集群间负载均衡、流量分担和备份的技术难题,进而实现了根据负载均衡算法、集群的健康状态、集群备份模式和流量分担模式,对多个集群进行集群间负载均衡、流量分担和备份,提升了多集群间负载均衡的效率,以及集群的工作负载能力、可靠性和数据安全性。
附图说明
为了更清楚地说明本申请实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1示出了本发明实施例提出的一种基于集群的负载分担和备份方法的流程示意图;
图2示出了本发明实施例提出的一种基于集群的负载分担和备份装置的结构示意图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
本发明提供了一种基于集群的负载分担和备份方法,如图1所示,所述方法包括以下步骤:
S101,对集群进行定期监测,根据所述集群的健康状况确定健康集群组和不健康集群组。
本实施例中,所述S101,对集群进行定期监测,根据所述集群的健康状况确定健康集群组和不健康集群组的步骤包括:
对所述集群和所述集群内的服务器节点的权重和优先级进行初始化设置,并根据所述集群内的服务器节点存活数量和预设最小存活数阈值将所述集群分为两组,分别为健康集群组和不健康集群组;
其中,所述预设最小存活数阈值根据所述集群中服务器节点的总数以及最小存活比例设定,
预设最小存活数阈值=所述集群中服务器节点的总数*最小存活比例,
或根据业务需要设定。
本实施例中,所述根据所述集群内的服务器节点存活数量和预设最小存活数阈值将所述集群分为两组,分别为健康集群组和不健康集群组的步骤为:
1)定期统计所述集群内的服务器节点存活数量,并与所述预设最小存活数阈值进行比较,标记所述集群的健康状况;
若所述服务器节点存活数量大于或等于所述预设最小存活数阈值,则将所述集群标记为健康集群,并划分至所述健康集群组;
若所述服务器节点存活数量小于所述预设最小存活数阈值,则将所述集群标记为不健康集群,从所述健康集群组划分至所述不健康集群组,并对所述不健康集群进行负载分担和备份;
本实施例中,所述定期统计所述集群内的服务器节点存活数量,并与所述预设最小存活数阈值进行比较,标记所述集群的健康状况的步骤,还包括所述集群内存活服务器节点统计的步骤,具体为:
1)定期向各所述集群内的所有服务器节点发送存活状态监测广播通知,并返回节点监测信息;
2)根据所述节点监测信息判断并标记所述服务器节点的存活状态;
3)统计各所述集群内的服务器节点存活数量;
其中,
所述节点监测信息包括3个字段,分别为服务器编号、端口号、存活状态;
所述存活状态包括2个字段,分别为存活和不存活,根据所述服务器节点是否正常工作确定,如果所述服务器节点正常工作,则标记所述服务器节点的存活状态为存活,如果所述服务器节点不正常工作,则标记所述服务器节点的存活状态为不存活。
S102,根据所述集群的权重和优先级,将所述不健康集群组的流量向所述健康集群组进行负载分担和备份。
其中,所述负载分担和备份包括根据集群和集群内的服务器节点的健康状态进行集群间负载分担和备份,以及集群内负载分担和备份。
本实施例中,所述集群间负载分担和备份的步骤包括:
根据所述集群间的集群负载备份模式,从所述健康集群组中选择负载分担目标集群,将所述不健康集群的流量向所述负载分担目标集群进行负载分担和备份;
其中,
所述集群间的集群负载备份模式包括3种,分别为多主:多备模式、主:主模式和多主:一备模式;
当所述集群间的集群负载备份模式为多主:多备模式时,
所述健康集群组由多个主集群和多个备集群构成,所述主集群被标记为不健康集群后,选择所述备集群为负载分担目标集群,将所述主集群已承载的全部执行任务迁移至所述备集群,并由所述备集群承载和响应所述主集群承担的客户端请求;
当所述集群间的集群负载备份模式为主:主模式时,
所述健康集群组由至少两个主集群构成,所述主集群被标记为不健康集群后,将所述主集群已承载的全部执行任务均衡迁移至其它所述主集群,并由其它所述主集群均衡承载和响应所述主集群承担的客户端请求;
当所述集群间的集群负载备份模式为多主:一备模式时,
所述健康集群组由多个主集群和一个备集群构成,所述主集群被标记为不健康集群后,选择所述备集群为负载分担目标集群,将所述主集群已承载的全部执行任务迁移至所述备集群,并由所述备集群承载和响应所述主集群承担的客户端请求。
可选择地,所述集群间负载分担和备份的步骤还包括:
当所述集群由不健康集群恢复为健康集群后,将所述集群标记为健康集群,并将所述负载分担目标集群承载和分担的全部执行任务和所述客户端请求迁回至所述集群。
本实施例中,所述集群内负载分担和备份的步骤为:
根据各所述负载分担目标集群中存活的各所述服务器节点的所述权重、所述优先级,确定负载分担目标服务器节点;
将所述负载分担目标集群承载和分担的所述执行任务和所述客户端请求均衡分配至所述负载分担目标服务器节点。
S103,接收并解析客户端请求,得到执行任务,并从所述健康集群组中确定目标集群,以及目标服务器节点。
本实施例中,所述S103,接收并解析客户端请求,得到执行任务,并从所述健康集群组中确定目标集群,以及目标服务器节点的步骤,具体为:
接受所述客户端请求,对所述客户端请求进行解析得到所述执行计划;
根据所述健康集群的权重和优先级,从所述健康集群组中确定目标集群;
根据各所述服务器节点的权重和优先级,从所述目标集群中确定目标服务器节点。
S104,将所述执行任务发送至所述目标集群中的所述目标服务器节点执行,并返回执行结果。
本实施例中,所述S104,将所述执行任务发送至所述目标集群中的所述目标服务器节点执行,并返回执行结果的步骤,具体为:
将所述执行任务发送至所述目标集群,并由所述目标集群中的主服务器节点将所述执行任务均衡分配到所述目标服务器节点;
所述目标服务器节点执行完成所述执行任务后,向所述目标集群中的主服务器节点处理结果;
所述目标集群中的主服务器节点根据所述处理结果获取执行结果,并返回给客户端。
通过应用以上技术方案,对集群进行定期监测,根据所述集群的健康状况确定健康集群组和不健康集群组;根据所述集群的权重和优先级,将所述不健康集群组的流量向所述健康集群组进行负载分担和备份;接收并解析客户端请求,得到执行任务,并从所述健康集群组中确定目标集群,以及目标服务器节点;将所述执行任务发送至所述目标集群中的所述目标服务器节点执行,并返回执行结果;其中,所述负载分担和备份包括根据集群和集群内的服务器节点的健康状态进行集群间负载分担和备份,以及集群内负载分担和备份,实现了通过对集群进行定期监测,根据所述集群的权重和优先级,将所述不健康集群组的流量向所述健康集群组进行负载分担和备份,解决了现有技术无法针对多个集群实现集群间负载均衡、流量分担和备份的技术难题,进而实现了根据负载均衡算法、集群的健康状态、集群备份模式和流量分担模式,对多个集群进行集群间负载均衡、流量分担和备份,提升了多集群间负载均衡的效率,以及集群的工作负载能力、可靠性和数据安全性。
与本发明实施例中的一种所述基于集群的负载分担和备份方法相对应,本发明还公开了一种基于集群的负载分担和备份装置,如图2所示,所述装置包括健康检测模块、分担备份模块、执行确定模块和返回模块。
其中,
所述健康检测模块,用于对集群进行定期监测,根据所述集群的健康状况确定健康集群组和不健康集群组;
所述分担备份模块,用于根据所述集群的权重和优先级,将所述不健康集群组的流量向所述健康集群组进行负载分担和备份;
所述执行确定模块,用于接收并解析客户端请求,得到执行任务,并从所述健康集群组中确定目标集群,以及目标服务器节点;
所述返回模块,用于将所述执行任务发送至所述目标集群中的所述目标服务器节点执行,并返回执行结果;
所述负载分担和备份包括根据集群和集群内的服务器节点的健康状态进行集群间负载分担和备份,以及集群内负载分担和备份。
本说明书中的各个实施例均采用相关的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。
以上所述仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围。凡在本发明的精神和原则之内所作的任何修改、等同替换、改进等,均包含在本发明的保护范围内。
Claims (7)
1.一种基于集群的负载分担和备份方法,其特征在于,所述方法包括:
S101,对集群进行定期监测,根据所述集群的健康状况确定健康集群组和不健康集群组;
S102,根据所述集群的权重和优先级,将所述不健康集群组的流量向所述健康集群组进行负载分担和备份;
S103,接收并解析客户端请求,得到执行任务,并从所述健康集群组中确定目标集群,以及目标服务器节点;
S104,将所述执行任务发送至所述目标集群中的所述目标服务器节点执行,并返回执行结果;
其中,
所述负载分担和备份包括根据集群和集群内的服务器节点的健康状态进行集群间负载分担和备份,以及集群内负载分担和备份;
所述集群间负载分担和备份的步骤包括:
根据所述集群间的集群负载备份模式,从所述健康集群组中选择负载分担目标集群,将所述不健康集群的流量向所述负载分担目标集群进行负载分担和备份;
所述集群间的集群负载备份模式包括3种,分别为多主:多备模式、主:主模式和多主:一备模式;
当所述集群间的集群负载备份模式为多主:多备模式时,
所述健康集群组由多个主集群和多个备集群构成,所述主集群被标记为不健康集群后,选择所述备集群为负载分担目标集群,将所述主集群已承载的全部执行任务迁移至所述备集群,并由所述备集群承载和响应所述主集群承担的客户端请求;
当所述集群间的集群负载备份模式为主:主模式时,
所述健康集群组由至少两个主集群构成,所述主集群被标记为不健康集群后,将所述主集群已承载的全部执行任务均衡迁移至其它所述主集群,并由其它所述主集群均衡承载和响应所述主集群承担的客户端请求;
当所述集群间的集群负载备份模式为多主:一备模式时,
所述健康集群组由多个主集群和一个备集群构成,所述主集群被标记为不健康集群后,选择所述备集群为负载分担目标集群,将所述主集群已承载的全部执行任务迁移至所述备集群,并由所述备集群承载和响应所述主集群承担的客户端请求;
所述集群间负载分担和备份的步骤还包括:
当所述集群由不健康集群恢复为健康集群后,将所述集群标记为健康集群,并将所述负载分担目标集群承载和分担的全部执行任务和所述客户端请求迁回至所述集群;
所述集群内负载分担和备份的步骤为:
根据各所述负载分担目标集群中存活的各所述服务器节点的所述权重、所述优先级,确定负载分担目标服务器节点;
将所述负载分担目标集群承载和分担的所述执行任务和所述客户端请求均衡分配至所述负载分担目标服务器节点。
2.如权利要求1所述的方法,其特征在于,所述S101,对集群进行定期监测,根据所述集群的健康状况确定健康集群组和不健康集群组的步骤包括:
对所述集群和所述集群内的服务器节点的权重和优先级进行初始化设置,并根据所述集群内的服务器节点存活数量和预设最小存活数阈值将所述集群分为两组,分别为健康集群组和不健康集群组;
其中,所述预设最小存活数阈值根据所述集群中服务器节点的总数以及最小存活比例设定,
预设最小存活数阈值=所述集群中服务器节点的总数*最小存活比例,或根据业务需要设定。
3.如权利要求2所述的方法,其特征在于,所述根据所述集群内的服务器节点存活数量和预设最小存活数阈值将所述集群分为两组,分别为健康集群组和不健康集群组的步骤为:
1)定期统计所述集群内的服务器节点存活数量,并与所述预设最小存活数阈值进行比较,标记所述集群的健康状况;
若所述服务器节点存活数量大于或等于所述预设最小存活数阈值,则将所述集群标记为健康集群,并划分至所述健康集群组;
若所述服务器节点存活数量小于所述预设最小存活数阈值,则将所述集群标记为不健康集群,从所述健康集群组划分至所述不健康集群组,并对所述不健康集群进行负载分担和备份。
4.如权利要求3所述的方法,其特征在于,所述定期统计所述集群内的服务器节点存活数量,并与所述预设最小存活数阈值进行比较,标记所述集群的健康状况的步骤,还包括所述集群内存活服务器节点统计的步骤,具体为:
1)定期向各所述集群内的所有服务器节点发送存活状态监测广播通知,并返回节点监测信息;
2)根据所述节点监测信息判断并标记所述服务器节点的存活状态;
3)统计各所述集群内的服务器节点存活数量;
其中,
所述节点监测信息包括3个字段,分别为服务器编号、端口号、存活状态;
所述存活状态包括2个字段,分别为存活和不存活,根据所述服务器节点是否正常工作确定,如果所述服务器节点正常工作,则标记所述服务器节点的存活状态为存活,如果所述服务器节点不正常工作,则标记所述服务器节点的存活状态为不存活。
5.如权利要求1所述的方法,其特征在于,所述S103,接收并解析客户端请求,得到执行任务,并从所述健康集群组中确定目标集群,以及目标服务器节点的步骤,具体为:
接受所述客户端请求,对所述客户端请求进行解析得到所述执行任务;
根据所述健康集群的权重和优先级,从所述健康集群组中确定目标集群;
根据各所述服务器节点的权重和优先级,从所述目标集群中确定目标服务器节点。
6.如权利要求1所述的方法,其特征在于,所述S104,将所述执行任务发送至所述目标集群中的所述目标服务器节点执行,并返回执行结果的步骤,具体为:
将所述执行任务发送至所述目标集群,并由所述目标集群中的主服务器节点将所述执行任务均衡分配到所述目标服务器节点;
所述目标服务器节点执行完成所述执行任务后,向所述目标集群中的主服务器节点处理结果;
所述目标集群中的主服务器节点根据所述处理结果获取执行结果,并返回给客户端。
7.一种实施权利要求1所述基于集群的负载分担和备份方法的装置,其特征在于,所述装置包括健康检测模块、分担备份模块、执行确定模块和返回模块;
其中,
所述健康检测模块,用于对集群进行定期监测,根据所述集群的健康状况确定健康集群组和不健康集群组;
所述分担备份模块,用于根据所述集群的权重和优先级,将所述不健康集群组的流量向所述健康集群组进行负载分担和备份;
所述执行确定模块,用于接收并解析客户端请求,得到执行任务,并从所述健康集群组中确定目标集群,以及目标服务器节点;
所述返回模块,用于将所述执行任务发送至所述目标集群中的所述目标服务器节点执行,并返回执行结果;
其中,所述负载分担和备份包括根据集群和集群内的服务器节点的健康状态进行集群间负载分担和备份,以及集群内负载分担和备份;
所述集群间的集群负载备份模式包括3种,分别为多主:多备模式、主:主模式和多主:一备模式;
当所述集群间的集群负载备份模式为多主:多备模式时,
所述健康集群组由多个主集群和多个备集群构成,所述主集群被标记为不健康集群后,选择所述备集群为负载分担目标集群,将所述主集群已承载的全部执行任务迁移至所述备集群,并由所述备集群承载和响应所述主集群承担的客户端请求;
当所述集群间的集群负载备份模式为主:主模式时,
所述健康集群组由至少两个主集群构成,所述主集群被标记为不健康集群后,将所述主集群已承载的全部执行任务均衡迁移至其它所述主集群,并由其它所述主集群均衡承载和响应所述主集群承担的客户端请求;
当所述集群间的集群负载备份模式为多主:一备模式时,
所述健康集群组由多个主集群和一个备集群构成,所述主集群被标记为不健康集群后,选择所述备集群为负载分担目标集群,将所述主集群已承载的全部执行任务迁移至所述备集群,并由所述备集群承载和响应所述主集群承担的客户端请求;
所述集群间负载分担和备份的步骤还包括:
当所述集群由不健康集群恢复为健康集群后,将所述集群标记为健康集群,并将所述负载分担目标集群承载和分担的全部执行任务和所述客户端请求迁回至所述集群;
所述集群内负载分担和备份的步骤为:
根据各所述负载分担目标集群中存活的各所述服务器节点的所述权重、所述优先级,确定负载分担目标服务器节点;
将所述负载分担目标集群承载和分担的所述执行任务和所述客户端请求均衡分配至所述负载分担目标服务器节点。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310129009.1A CN116233137B (zh) | 2023-02-17 | 2023-02-17 | 一种基于集群的负载分担和备份方法及装置 |
PCT/CN2024/075461 WO2024169653A1 (zh) | 2023-02-17 | 2024-02-02 | 一种基于集群的负载分担和备份的方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310129009.1A CN116233137B (zh) | 2023-02-17 | 2023-02-17 | 一种基于集群的负载分担和备份方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN116233137A CN116233137A (zh) | 2023-06-06 |
CN116233137B true CN116233137B (zh) | 2023-11-17 |
Family
ID=86569070
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310129009.1A Active CN116233137B (zh) | 2023-02-17 | 2023-02-17 | 一种基于集群的负载分担和备份方法及装置 |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN116233137B (zh) |
WO (1) | WO2024169653A1 (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116233137B (zh) * | 2023-02-17 | 2023-11-17 | 通明智云(北京)科技有限公司 | 一种基于集群的负载分担和备份方法及装置 |
Citations (17)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1578320A (zh) * | 2003-06-30 | 2005-02-09 | 微软公司 | 利用主机状态信息进行网络负载平衡 |
CN103391299A (zh) * | 2012-05-08 | 2013-11-13 | 深圳市腾讯计算机系统有限公司 | 负载均衡方法和负载均衡系统 |
CN105025095A (zh) * | 2015-07-10 | 2015-11-04 | 福建天晴数码有限公司 | 实现云计算弹性服务的集群架构 |
CN106663030A (zh) * | 2014-08-13 | 2017-05-10 | 微软技术许可有限责任公司 | 在分布式集群中的可扩展故障恢复通信 |
CN108206768A (zh) * | 2016-12-20 | 2018-06-26 | 阿里巴巴集团控股有限公司 | 集群监测和切换方法及装置 |
CN109104500A (zh) * | 2018-09-29 | 2018-12-28 | 广东省信息工程有限公司 | 一种动态调整的服务器负载均衡方法及装置 |
CN109167702A (zh) * | 2018-08-28 | 2019-01-08 | 新华三大数据技术有限公司 | 一种基于负载均衡的分布式测试方法及装置 |
CN109218349A (zh) * | 2017-06-29 | 2019-01-15 | 北京微影时代科技有限公司 | 一种管理服务器集群的方法及装置 |
CN109558246A (zh) * | 2018-12-04 | 2019-04-02 | 北京字节跳动网络技术有限公司 | 一种负载均衡方法、装置、电子设备及存储介质 |
CN112350894A (zh) * | 2020-11-05 | 2021-02-09 | 科大讯飞股份有限公司 | 一种服务节点的性能测试方法、装置、设备及存储介质 |
CN112463451A (zh) * | 2020-12-02 | 2021-03-09 | 中国工商银行股份有限公司 | 缓存灾备集群切换方法及软负载均衡集群装置 |
CN112565327A (zh) * | 2019-09-26 | 2021-03-26 | 广州虎牙科技有限公司 | 访问流量转发方法、集群管理方法及相关装置 |
CN113806084A (zh) * | 2021-09-07 | 2021-12-17 | 济南浪潮数据技术有限公司 | 一种集群节点内存负载均衡的方法、系统、设备和介质 |
CN113824768A (zh) * | 2021-08-23 | 2021-12-21 | 北京天融信网络安全技术有限公司 | 负载均衡系统中的健康检查方法及装置和流量转发方法 |
CN114598594A (zh) * | 2022-03-14 | 2022-06-07 | 上海道客网络科技有限公司 | 一种多集群下应用故障的处理方法、系统、介质和设备 |
CN115242755A (zh) * | 2022-07-07 | 2022-10-25 | 齐鲁工业大学 | 一种基于sip信令服务器集群的性能监测及负载均衡方法 |
CN115633039A (zh) * | 2022-09-28 | 2023-01-20 | 深圳壹账通智能科技有限公司 | 通信建立方法、负载均衡装置、设备及存储介质 |
Family Cites Families (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9026655B2 (en) * | 2007-01-31 | 2015-05-05 | Oracle America, Inc. | Method and system for load balancing |
CN101217483A (zh) * | 2008-01-21 | 2008-07-09 | 中兴通讯股份有限公司 | 用于实现集群服务器内负载分担代理的方法 |
US9148479B1 (en) * | 2012-02-01 | 2015-09-29 | Symantec Corporation | Systems and methods for efficiently determining the health of nodes within computer clusters |
US10609159B2 (en) * | 2014-08-04 | 2020-03-31 | Microsoft Technology Licensing, Llc | Providing higher workload resiliency in clustered systems based on health heuristics |
US10613944B2 (en) * | 2017-04-18 | 2020-04-07 | Netapp, Inc. | Systems and methods for backup and restore of distributed master-slave database clusters |
US10498809B2 (en) * | 2018-01-29 | 2019-12-03 | Hewlett Packard Enterprise Development Lp | Selections of managing nodes in clusters of nodes |
CN116233137B (zh) * | 2023-02-17 | 2023-11-17 | 通明智云(北京)科技有限公司 | 一种基于集群的负载分担和备份方法及装置 |
-
2023
- 2023-02-17 CN CN202310129009.1A patent/CN116233137B/zh active Active
-
2024
- 2024-02-02 WO PCT/CN2024/075461 patent/WO2024169653A1/zh unknown
Patent Citations (17)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1578320A (zh) * | 2003-06-30 | 2005-02-09 | 微软公司 | 利用主机状态信息进行网络负载平衡 |
CN103391299A (zh) * | 2012-05-08 | 2013-11-13 | 深圳市腾讯计算机系统有限公司 | 负载均衡方法和负载均衡系统 |
CN106663030A (zh) * | 2014-08-13 | 2017-05-10 | 微软技术许可有限责任公司 | 在分布式集群中的可扩展故障恢复通信 |
CN105025095A (zh) * | 2015-07-10 | 2015-11-04 | 福建天晴数码有限公司 | 实现云计算弹性服务的集群架构 |
CN108206768A (zh) * | 2016-12-20 | 2018-06-26 | 阿里巴巴集团控股有限公司 | 集群监测和切换方法及装置 |
CN109218349A (zh) * | 2017-06-29 | 2019-01-15 | 北京微影时代科技有限公司 | 一种管理服务器集群的方法及装置 |
CN109167702A (zh) * | 2018-08-28 | 2019-01-08 | 新华三大数据技术有限公司 | 一种基于负载均衡的分布式测试方法及装置 |
CN109104500A (zh) * | 2018-09-29 | 2018-12-28 | 广东省信息工程有限公司 | 一种动态调整的服务器负载均衡方法及装置 |
CN109558246A (zh) * | 2018-12-04 | 2019-04-02 | 北京字节跳动网络技术有限公司 | 一种负载均衡方法、装置、电子设备及存储介质 |
CN112565327A (zh) * | 2019-09-26 | 2021-03-26 | 广州虎牙科技有限公司 | 访问流量转发方法、集群管理方法及相关装置 |
CN112350894A (zh) * | 2020-11-05 | 2021-02-09 | 科大讯飞股份有限公司 | 一种服务节点的性能测试方法、装置、设备及存储介质 |
CN112463451A (zh) * | 2020-12-02 | 2021-03-09 | 中国工商银行股份有限公司 | 缓存灾备集群切换方法及软负载均衡集群装置 |
CN113824768A (zh) * | 2021-08-23 | 2021-12-21 | 北京天融信网络安全技术有限公司 | 负载均衡系统中的健康检查方法及装置和流量转发方法 |
CN113806084A (zh) * | 2021-09-07 | 2021-12-17 | 济南浪潮数据技术有限公司 | 一种集群节点内存负载均衡的方法、系统、设备和介质 |
CN114598594A (zh) * | 2022-03-14 | 2022-06-07 | 上海道客网络科技有限公司 | 一种多集群下应用故障的处理方法、系统、介质和设备 |
CN115242755A (zh) * | 2022-07-07 | 2022-10-25 | 齐鲁工业大学 | 一种基于sip信令服务器集群的性能监测及负载均衡方法 |
CN115633039A (zh) * | 2022-09-28 | 2023-01-20 | 深圳壹账通智能科技有限公司 | 通信建立方法、负载均衡装置、设备及存储介质 |
Non-Patent Citations (2)
Title |
---|
"集群服务器在混合请求下的负载均衡优化算法";申泽星等;《计算机工程与应用》;全文 * |
"Scalable load balancing using enhanced server health monitoring and adimission control";M. A. Saifullah and M. A. M. Mohammed;《 2015 IEEE International Conference on Engineering and Technology (ICETECH)》;全文 * |
Also Published As
Publication number | Publication date |
---|---|
CN116233137A (zh) | 2023-06-06 |
WO2024169653A1 (zh) | 2024-08-22 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7328363B2 (en) | Dynamically configurable fault tolerance in autonomic computing with multiple service points | |
US20060069761A1 (en) | System and method for load balancing virtual machines in a computer network | |
CN103428008B (zh) | 面向多用户群的大数据分发方法 | |
CN101662495B (zh) | 备份方法、主服务器、备份服务器以及备份系统 | |
CN103810016A (zh) | 实现虚拟机迁移的方法、装置和集群系统 | |
Tsai et al. | Two-tier multi-tenancy scaling and load balancing | |
CN105426245A (zh) | 包括分散的部件的动态地组成的计算节点 | |
WO2024169653A1 (zh) | 一种基于集群的负载分担和备份的方法及装置 | |
CN102724277A (zh) | 虚拟机热迁移和部署的方法、服务器及集群系统 | |
US9507676B2 (en) | Cluster creation and management for workload recovery | |
CN114174993A (zh) | 优化集群基础设施中的集群应用 | |
CN107967164B (zh) | 一种虚拟机热迁移的方法及系统 | |
CN111459642B (zh) | 一种分布式系统中故障处理和任务处理方法及装置 | |
KR20200080458A (ko) | 클라우드 멀티-클러스터 장치 | |
CN104123183B (zh) | 集群作业调度方法和装置 | |
CN104142871A (zh) | 用于数据备份的方法、装置和分布式文件系统 | |
JP2013117889A (ja) | 広域分散構成変更システム | |
CN105487946A (zh) | 一种故障计算机自动切换方法及装置 | |
CN117950858A (zh) | 一种集群动态均衡扩展的方法和系统 | |
US11977450B2 (en) | Backup system, method therefor, and program | |
KR101704928B1 (ko) | Gpu를 이용한 파일의 분산 저장 시스템 및 방법 | |
CN116743752A (zh) | 一种分布式网络通讯实现数据处理负载均衡系统 | |
CN112131077B (zh) | 故障节点的定位方法和定位装置、以及数据库集群系统 | |
Leelipushpam et al. | Fault tree analysis based virtual machine migration for fault-tolerant cloud data center | |
Lee et al. | Development of an optimal load balancing algorithm based on ANFIS modeling for the clustering web-server |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |