一种云服务器负载均衡及数据冗余备份的方法及系统的制作方法

文档序号:7977775阅读:171来源:国知局
专利名称:一种云服务器负载均衡及数据冗余备份的方法及系统的制作方法
技术领域
本发明涉及计算机网络集群服务器领域,特别涉及一种云服务器负载均衡及数据冗余备份的方法及系统。
背景技术
现有服务器负载平衡方法及其系统所提供的方法,能够基本实现云服务器的负载均衡及冗余备份的目标,但都使用独立响应的方式,客户端需自行选择支持服务器的方案,分析、定位服务节点,无法自主同步。同时客户端接口复杂,需要与服务器导向接口相适应,同时在服务器端,空闲服务器由于独立响应,缺乏整体调度均衡,因此服务器工作压力会迅速上升,使服务器无法正常提供服务,降低服务器服务效率
发明内容
本发明提供了一种云服务器负载均衡及数据冗余备份的方法及系统,解决了客户端接口复杂,服务器需依赖单独负载调节服务器的问题。一种云服务器负载均衡调节的方法,包括
服务器接收服务请求;
判断服务请求类别,选择服务方式;所述服务请求类别为任务请求或更新请求,当服务请求为任务请求时执行任务请求查询流程,当服务请求为更新请求时执行服务器更新流程;
所述的任务请求查询流程为
A.获取负载均衡表,判断任务请求是否属于本服务器服务范围,如果是,则执行步骤B,否则执行步骤D ;
B.判断服务器负载是否达到预设上限,如果达到预设上限,则本服务器任务请求查询结果为空,如果未达到预设上限,则进行本地任务查询;
C.判断本服务器任务请求查询结果是否为空,如果为空,则执行步骤D,否则将任务请求查询结果返回服务请求发送端;
D.根据负载均衡表及免查询列表,确定任务查询服务器节点,将本服务器添加到免查询列表,并向确定的任务查询服务器节点转发任务请求;所述任务查询服务器节点为可提供此类服务,且未被查询过的服务器;
E.获取任务请求查询结果,并判断任务请求查询结果是否为空,如果为空,则将任务请求查询结果返回服务请求发送端,否则判断任务请求是否属于本服务器服务范围,如果是,则将获得的任务请求查询结果更新到本服务器,并将任务请求查询结果返回服务请求发送端,否则直接将任务请求查询结果返回服务请求发送端。所述的服务器更新流程为
F.获取负载均衡列表,判断更新请求是否属于本服务器服务范围,即更新的数据是否属于本服务器提供服务的范围,如果是,则按照更新请求对本服务器更新,并执行步骤G,否则直接执行步骤G ;
G.根据负载均衡表及免更新列表,确定更新服务器节点,将本服务器添加到免更新列表,并向确定的更新服务器节点转发更新请求;所述更新服务器节点为可提供此类任务请求查询,且未被更新过的服务器;
H.获取更新结果,并返回服务请求发送端。所述的方法中,所述的服务器接收服务请求中,所述的服务请求为客户端或其他服务器发送。所述的方法中,所述的负载均衡列表预先存储于各服务器中。负载均衡列表中预先存储负载分流的所有可用节点,以静态方式保存于各服务器,并可进行定向更新,负载均衡列表可以以文件形式或数据库等形式保存。
所述的方法中,所述的免查询列表及免更新列表包含于服务请求中;
所述的免查询列表为已查询过的服务器列表;
所述的免更新列表为已更新过的服务器列表。所述的免查询列表及免更新列表为服务请求中附带的信息,由每台服务器在进行服务请求转发前将本服务器的识别信息加入免查询列表或免更新列表中,使后续获得服务请求的服务器不会再将服务请求转发回来。一种云服务器负载均衡调节的系统,包括多台服务器,每台服务器包括
接收模块,用于服务器接收服务请求;
判断模块,用于判断服务请求类别,选择服务方式,所述服务请求类别为任务请求或更新请求;
任务请求查询模块,用于当判断模块判断服务请求为任务请求时执行任务请求查询流
程;
服务器更新模块,用于当判断模块判断服务请求为更新请求时执行服务器更新流程; 所述的任务请求查询模块还包括
第一服务判断子模块,获取负载均衡表,判断任务请求是否属于本服务器服务范围,如果是,则进入负载判断子模块,否则进入第一转发子模块;
负载判断子模块,用于判断服务器负载是否达到预设上限,如果达到预设上限,则本服务器任务请求查询结果为空,如果未达到预设上限,则进行本地任务查询;
查询结果判断子模块,判断本服务器任务请求查询结果是否为空,如果为空,则进入第一转发子模块,否则进入结果反馈子模块;
第一转发子模块,用于根据负载均衡表及免查询列表,确定任务查询服务器节点,将本服务器添加到免查询列表,并向确定的任务查询服务器节点转发任务请求;
转发结果判断子模块,用于获取任务请求查询结果,并判断任务请求查询结果是否为空,如果为空,则进入结果反馈子模块,否则判断任务请求是否属于本服务器服务范围,如果是,则将获得的任务请求查询结果更新到本服务器,并进入结果反馈子模块,否则直接进入结果反馈子模块;
结果反馈子模块,用于将任务请求结果返回服务请求发送端;
所述的服务器更新模块还包括
第二服务判断子模块,用于获取负载均衡列表,判断更新请求是否属于本服务器服务范围,如果是,则进入更新子模块,并进入第二转发子模块,否则直接进入第二转发子模块;
更新子模块,用于按照更新请求对本服务器更新,并进入第二转发子模块;
第二转发子模块,用于根据负载均衡表及免更新列表,确定更新服务器节点,将本服务器添加到免更新列表,并向确定的更新服务器节点转发更新请求;
结果获取子模块,用于获取更新结果,并返回服务请求发送端。所述的系统中,所述的服务器接收服务请求中,所述的服务请求为客户端或其他服务器发送。所述的系统中,所述的负载均衡列表预先存储于各服务器中。所述的系统中,所述的免查询列表及免更新列表包含于服务请求中;
所述的免查询列表为已查询过的服务器列表;
所述的免更新列表为已更新过的服务器列表。本发明所提供的方法,客户端无需对服务器进行分析定位,可向任意服务器发起服务请求,消除了客户端对服务器版本的依赖;每台服务器都有自己的负载均衡表,除转发任务外,只承担自有任务的查询及更新,将云数据分布到负载均衡表所记录的所有可用服务器节点中,且每个服务器节点所拥有的负载均衡表不同,并且非上级转发服务器负载均衡表的子树,使多个服务器节点形成网状的拓扑结构;并且服务器的服务请求转发及更新,使服务器可自动对数据库进行补充,使服务器接入服务体系后,不需要强制进行数据录入的操作,缩短了上线时间,且只更新最近任务请求查询结果,减少了数据库压力,使服务器上线所需的维护时间大为减少,提高了云服务体系布置的灵活性及高效性;每台服务器可进行负载状态识别,脱离了现有技术中对负载向导服务器的依赖,提高了负载均衡管理的实时性,整体提高了云服务器的服务能力及稳定性。本发明提供了一种云服务器负载均衡及数据冗余备份的方法及系统,客户端可向任意服务器发出服务请求,接收到服务请求的服务器判断服务请求类别,选择服务方式;当服务请求为任务请求时执行任务请求查询流程,当服务请求为更新请求时执行服务器更新流程;当服务请求不为本服务器服务范围或本服务器任务请求查询结果为空时,可向其他服务器转发服务请求,同时根据其他服务器返回的任务请求查询结果,对本服务器更新。通过本发明的方法,服务器可进行自主状态识别,提高了云服务器的稳定性;同时服务器的任务请求转发查询及更新,可使服务器自动将从其他服务器得到数据补充到本服务器中,提高了服务器更新的灵活性。


为了更清楚地说明本发明或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明中记载的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。图I为一种云服务器负载均衡及数据冗余备份的方法流程 图2为一种云服务器负载均衡及数据冗余备份的系统中服务器结构图。
具体实施例方式为了使本技术领域的人员更好地理解本发明实施例中的技术方案,并使本发明的上述目的、特征和优点能够更加明显易懂,下面结合附图对本发明中技术方案作进一步详细的说明。本发明提供了一种云服务器负载均衡及数据冗余备份的方法及系统,解决了客户端接口复杂,服务器需依赖单独负载调节服务器的问题。一种云服务器负载均衡调节的方法,如图I所示,包括
5101:服务器接收服务请求;
5102:判断服务请求类别,选择服务方式;所述服务请求类别为任务请求或更新请求,当服务请求为任务请求时执行S103,当服务请求为更新请求时执行SllO ;
5103:获取负载均衡表,判断任务请求是否属于本服务器服务范围,如果是,则执行S104,否则执行S106 ;
5104:判断服务器负载是否达到预设上限,如果达到预设上限,则本服务器任务请求查询结果为空,如果未达到预设上限,则进行本地任务查询;
5105:判断本服务器任务请求查询结果是否为空,如果为空,则执行S106,否则将任务请求查询结果返回服务请求发送端;
5106:根据负载均衡表及免查询列表,确定任务查询服务器节点,将本服务器添加到免查询列表,并向确定的任务查询服务器节点转发任务请求;所述任务查询服务器节点为可提供此类服务,且未被查询过的服务器;
5107:获取任务请求查询结果,并判断任务请求查询结果是否为空,如果为空,则将任务请求查询结果返回服务请求发送端,否则执行S108 ;
5108:判断任务请求是否属于本服务器服务范围,如果是,则执行S109,否则直接将任务请求查询结果返回服务请求发送端;
5109:将获得的任务请求查询结果更新到本服务器,并将任务请求查询结果返回服务请求发送端OSllO :获取负载均衡列表,判断更新请求是否属于本服务器服务范围,即更新的数据是否属于本服务器提供服务的范围,如果是,则执行S111,否则直接执行S112 ;
Sm :按照更新请求对本服务器更新,并执行S112 ;
SI 12 :根据负载均衡表及免更新列表,确定更新服务器节点,将本服务器添加到免更新列表,并向确定的更新服务器节点转发更新请求;所述更新服务器节点为可提供此类任务请求查询,且未被更新过的服务器;
S113 :获取更新结果,并返回服务请求发送端。所述的方法中,所述的服务器接收服务请求中,所述的服务请求为客户端或其他服务器发送。所述的方法中,所述的负载均衡列表预先存储于各服务器中。负载均衡列表中预先存储负载分流的所有可用节点,以静态方式保存于各服务器,并可进行定向更新,负载均衡列表可以以文件形式或数据库等形式保存。所述的方法中,所述的免查询列表及免更新列表包含于服务请求中;
所述的免查询列表为已查询过的服务器列表;所述的免更新列表为已更新过的服务器列表。所述的免查询列表及免更新列表为服务请求中附带的信息,由每台服务器在进行服务请求转发前将本服务器的识别信息加入免查询列表或免更新列表中,使后续获得服务请求的服务器不会再将服务请求转发回来。一种云服务器负载均衡调节的系统,包括多台服务器,如图2所示,每台服务器包括
接收模块201,用于服务器接收服务请求;
判断模块202,用于判断服务请求类别,选择服务方式,所述服务请求类别为任务请求或更新请求;
任务请求查询模块203,用于当判断模块202判断服务请求为任务请求时执行任务请求查询流程;
服务器更新模块204,用于当判断模块202判断服务请求为更新请求时执行服务器更新流程;
所述的任务请求查询模块203还包括
第一服务判断子模块203-1,获取负载均衡表,判断任务请求是否属于本服务器服务范围,如果是,则进入负载判断子模块203-1,否则进入第一转发子模块203-4 ;
负载判断子模块203-2,用于判断服务器负载是否达到预设上限,如果达到预设上限,则本服务器任务请求查询结果为空,如果未达到预设上限,则进行本地任务查询;
查询结果判断子模块203-3,判断本服务器任务请求查询结果是否为空,如果为空,则进入第一转发子模块203-4,否则进入结果反馈子模块203-6 ;
第一转发子模块203-4,用于根据负载均衡表及免查询列表,确定任务查询服务器节点,将本服务器添加到免查询列表,并向确定的任务查询服务器节点转发任务请求;
转发结果判断子模块203-5,用于获取任务请求查询结果,并判断任务请求查询结果是否为空,如果为空,则进入结果反馈子模块203-6,否则判断任务请求是否属于本服务器服务范围,如果是,则将获得的任务请求查询结果更新到本服务器,并进入结果反馈子模块203-6,否则直接进入结果反馈子模块203-6 ;
结果反馈子模块203-6,用于将任务请求结果返回服务请求发送端;
所述的服务器更新模块204还包括
第二服务判断子模块204-1,用于获取负载均衡列表,判断更新请求是否属于本服务器服务范围,如果是,则进入更新子模块,否则直接进入第二转发子模块;
更新子模块204-2,用于按照更新请求对本服务器更新,并进入第二转发子模块;
第二转发子模块204-3,用于根据负载均衡表及免更新列表,确定更新服务器节点,将本服务器添加到免更新列表,并向确定的更新服务器节点转发更新请求;
结果获取子模块204-4,用于获取更新结果,并返回服务请求发送端。所述的系统中,所述的服务器接收服务请求中,所述的服务请求为客户端或其他服务器发送。所述的系统中,所述的负载均衡列表预先存储于各服务器中。所述的系统中,所述的免查询列表及免更新列表包含于服务请求中;
所述的免查询列表为已查询过的服务器列表;所述的免更新列表为已更新过的服务器列表。本发明所提供的方法,客户端无需对服务器进行分析定位,可向任意服务器发起服务请求,消除了客户端对服务器版本的依赖;每台服务器都有自己的负载均衡表,除转发任务外,只承担自有任务的查询及更新,将云数据分布到负载均衡表所记录的所有可用服务器节点中,且每个服务器节点所拥有的负载均衡表不同,并且非上级转发服务器负载均衡表的子树,使多个服务器节点形成网状的拓扑结构;并且服务器的服务请求转发及更新,使服务器可自动对数据库进行补充,使服务器接入服务体系后,不需要强制进行数据录入的操作,缩短了上线时间,且只更新最近任务请求查询结果,减少了数据库压力,使服务器上线所需的维护时间大为减少,提高了云服务体系布置的灵活性及高效性;每台服务器可进行负载状态识别,脱离了现有技术中对负载向导服务器的依赖,提高了负载均衡管理的实时性,整体提高了云服务器的服务能力及稳定性。本发明提供了一种云服务器负载均衡及数据冗余备份的方法及系统,客户端可向任意服务器发出服务请求,接收到服务请求的服务器判断服务请求类别,选择服务方式;当服务请求为任务请求时执行任务请求查询流程,当服务请求为更新请求时执行服务器更新 流程;当服务请求不为本服务器服务范围或本服务器任务请求查询结果为空时,可向其他服务器转发服务请求,同时根据其他服务器返回的任务请求查询结果,对本服务器更新。通过本发明的方法,服务器可进行自主状态识别,提高了云服务器的稳定性;同时服务器的任务请求转发查询及更新,可使服务器自动将从其他服务器得到数据补充到本服务器中,提高了服务器更新的灵活性。虽然通过实施例描绘了本发明,本领域普通技术人员知道,本发明有许多变形和变化而不脱离本发明的精神,希望所附的权利要求包括这些变形和变化而不脱离本发明的精神。
权利要求
1.一种云服务器负载均衡及数据冗余备份的方法,其特征在于,包括 服务器接收服务请求; 判断服务请求类别,选择服务方式;所述服务请求类别为任务请求或更新请求,当服务请求为任务请求时执行任务请求查询流程,当服务请求为更新请求时执行服务器更新流程; 所述的任务请求查询流程为 A.获取负载均衡表,判断任务请求是否属于本服务器服务范围,如果是,则执行步骤B,否则执行步骤D ; B.判断服务器负载是否达到预设上限,如果达到预设上限,则本服务器任务请求查询结果为空,如果未达到预设上限,则进行本地任务查询; C.判断本服务器任务请求查询结果是否为空,如果为空,则执行步骤D,否则将任务请 求查询结果返回服务请求发送端; D.根据负载均衡表及免查询列表,确定任务查询服务器节点,将本服务器添加到免查询列表,并向确定的任务查询服务器节点转发任务请求; E.获取任务请求查询结果,并判断任务请求查询结果是否为空,如果为空,则将任务请求查询结果返回服务请求发送端,否则判断任务请求是否属于本服务器服务范围,如果是,则将获得的任务请求查询结果更新到本服务器,并将任务请求查询结果返回服务请求发送端,否则直接将任务请求查询结果返回服务请求发送端; 所述的服务器更新流程为 F.获取负载均衡列表,判断更新请求是否属于本服务器服务范围,如果是,则按照更新请求对本服务器更新,并执行步骤G,否则直接执行步骤G ; G.根据负载均衡表及免更新列表,确定更新服务器节点,将本服务器添加到免更新列表,并向确定的更新服务器节点转发更新请求; H.获取更新结果,并返回服务请求发送端。
2.如权利要求I所述的方法,其特征在于,所述的服务器接收服务请求中,所述的服务请求为客户端或其他服务器发送。
3.如权利要求I所述的方法,其特征在于,所述的负载均衡列表预先存储于各服务器中。
4.如权利要求I所述的方法,其特征在于,所述的免查询列表及免更新列表包含于服务请求中; 所述的免查询列表为已查询过的服务器列表; 所述的免更新列表为已更新过的服务器列表。
5.一种云服务器负载均衡及数据冗余备份的系统,包括多台服务器,其特征在于,每台服务器包括 接收模块,用于服务器接收服务请求; 判断模块,用于判断服务请求类别,选择服务方式,所述服务请求类别为任务请求或更新请求; 任务请求查询模块,用于当判断模块判断服务请求为任务请求时执行任务请求查询流程;服务器更新模块,用于当判断模块判断服务请求为更新请求时执行服务器更新流程; 所述的任务请求查询模块还包括 第一服务判断子模块,获取负载均衡表,判断任务请求是否属于本服务器服务范围,如果是,则进入负载判断子模块,否则进入第一转发子模块; 负载判断子模块,用于判断服务器负载是否达到预设上限,如果达到预设上限,则本服务器任务请求查询结果为空,如果未达到预设上限,则进行本地任务查询; 查询结果判断子模块,判断本服务器任务请求查询结果是否为空,如果为空,则进入第一转发子模块,否则进入结果反馈子模块; 第一转发子模块,用于根据负载均衡表及免查询列表,确定任务查询服务器节点,将本 服务器添加到免查询列表,并向确定的任务查询服务器节点转发任务请求; 转发结果判断子模块,用于获取任务请求查询结果,并判断任务请求查询结果是否为空,如果为空,则进入结果反馈子模块,否则判断任务请求是否属于本服务器服务范围,如果是,则将获得的任务请求查询结果更新到本服务器,并进入结果反馈子模块,否则直接进入结果反馈子模块; 结果反馈子模块,用于将任务请求结果返回服务请求发送端; 所述的服务器更新模块还包括 第二服务判断子模块,用于获取负载均衡列表,判断更新请求是否属于本服务器服务范围,如果是,则按照更新请求对本服务器更新,并进入第二转发子模块,否则直接进入第二转发子模块; 更新子模块,用于按照更新请求对本服务器更新,并进入第二转发子模块; 第二转发子模块,用于根据负载均衡表及免更新列表,确定更新服务器节点,将本服务器添加到免更新列表,并向确定的更新服务器节点转发更新请求; 结果获取子模块,用于获取更新结果,并返回服务请求发送端。
6.如权利要求5所述的系统,其特征在于,所述的服务器接收服务请求中,所述的服务请求为客户端或其他服务器发送。
7.如权利要求5所述的系统,其特征在于,所述的负载均衡列表预先存储于各服务器中。
8.如权利要求5所述的系统,其特征在于,所述的免查询列表及免更新列表包含于服务请求中; 所述的免查询列表为已查询过的服务器列表; 所述的免更新列表为已更新过的服务器列表。
全文摘要
本发明提供了一种云服务器负载均衡及数据冗余备份的方法及系统,客户端可向任意服务器发出服务请求,接收到服务请求的服务器判断服务请求类别,选择服务方式;当服务请求为任务请求时执行任务请求查询流程,当服务请求为更新请求时执行服务器更新流程;当服务请求不为本服务器服务范围或本服务器任务请求查询结果为空时,可向其他服务器转发服务请求,同时根据其他服务器返回的任务请求查询结果,对本服务器更新。通过本发明的方法,服务器可进行自主状态识别,提高了云服务器的稳定性;同时服务器的任务请求转发查询及更新,可使服务器自动将从其他服务器得到数据补充到本服务器中,提高了服务器更新的灵活性。
文档编号H04L29/08GK102801766SQ20111036705
公开日2012年11月28日 申请日期2011年11月18日 优先权日2011年11月18日
发明者关墨辰, 高树磊, 徐瀚隆, 方华 申请人:北京安天电子设备有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1