分布式系统及其控制方法和装置制造方法

文档序号:7774331阅读:108来源:国知局
分布式系统及其控制方法和装置制造方法
【专利摘要】本发明公开了一种分布式系统及其控制方法和装置。其中,分布式系统的控制方法包括:检测每个心跳接口的心跳信号;确定未检测到心跳信号的心跳接口为目标心跳接口;以及从分布式系统中移除目标计算节点,其中,目标计算节点为具有目标心跳接口的计算节点。通过本发明,解决了现有技术中控制分布式系统中节点下线的方式容易出现数据丢失的问题,进而达到了提高分布式系统计算准确度和运行稳定性的效果。
【专利说明】分布式系统及其控制方法和装置
【技术领域】
[0001]本发明涉及计算机领域,具体而言,涉及一种分布式系统及其控制方法和装置。
【背景技术】
[0002]在分布式计算系统中,负载均衡器往往配备了多台后台处理节点,以将耗时计算平摊到多个处理节点上。当想要维护某个计算节点时,希望负载均衡器能够将该计算节点下线,数据不再发往该节点,同时又希望下线过程中不会影响当前数据的正常接收。
[0003]现有解决方案是通过修改负载均衡器的配置,让特定节点脱离负载均衡器,这样一旦不小心修改错误会导致整个负载均衡器出错,数据丢失。
[0004]针对相关技术中控制分布式系统中节点下线的方式容易出现数据丢失的问题,目前尚未提出有效的解决方案。

【发明内容】

[0005]本发明的主要目的在于提供一种分布式系统及其控制方法和装置,以解决现有技术中控制分布式系统中节点下线的方式容易出现数据丢失的问题。
[0006]为了实现上述目的,根据本发明的一个方面,提供了一种分布式系统的控制方法,分布式系统包括多个具有心跳接口和数据传输接口的计算节点,控制方法包括:检测每个心跳接口的心跳信号;确定未检测到心跳信号的心跳接口为目标心跳接口 ;以及从分布式系统中移除目标计算节点,其中,目标计算节点为具有目标心跳接口的计算节点。
[0007]进一步地,在检测每个心跳接口的心跳信号之前,控制方法还包括:接收设置指令;以及按照设置指令将目标心跳接口的访问状态设置为拒绝访问。
[0008]进一步地,通过以下方式确定目标心跳接口:判断在预设时间内是否检测到第一心跳接口的心跳信号,其中,第一心跳接口为多个心跳接口中的任一心跳接口 ;以及在判断出在预设时间内未检测到第一心跳接口的心跳信号的情况下,确定第一心跳接口为一个目标心跳接口。
[0009]进一步地,目标心跳接口的数量为多个,从分布式系统中移除目标计算节点包括:分别从分布式系统中移除每个目标计算节点。
[0010]进一步地,在移除目标计算节点之后,控制方法还包括:判断是否检测到目标心跳接口的心跳信号;以及在判断出检测到目标心跳接口的心跳信号的情况下,添加目标计算节点至分布式系统。
[0011]进一步地,目标心跳接口的数量为多个,添加目标计算节点至分布式系统包括:分别添加每个目标计算节点至分布式系统。
[0012]为了实现上述目的,根据本发明的另一方面,提供了一种分布式系统的控制装置,该分布式系统的控制装置主要用于执行本发明上述内容所提供的分布式系统的控制方法。
[0013]为了实现上述目的,根据本发明的另一方面,提供了一种分布式系统的控制装置,分布式系统包括多个具有心跳接口和数据传输接口的计算节点,控制装置包括:检测单元,用于检测每个心跳接口的心跳信号;确定单元,用于确定未检测到心跳信号的心跳接口为目标心跳接口 ;以及移除单元,用于从分布式系统中移除目标计算节点,其中,目标计算节点为具有目标心跳接口的计算节点。
[0014]进一步地,控制装置还包括:接收单元,用于接收设置指令;以及设置单元,用于按照设置指令将目标心跳接口的访问状态设置为拒绝访问。
[0015]进一步地,确定单元包括:判断模块,用于判断在预设时间内是否检测到第一心跳接口的心跳信号,其中,第一心跳接口为多个心跳接口中的任一心跳接口 ;以及确定模块,用于在判断模块判断出在预设时间内未检测到第一心跳接口的心跳信号的情况下,确定第一心跳接口为一个目标心跳接口。
[0016]进一步地,目标心跳接口的数量为多个,移除单元还用于分别从分布式系统中移除每个目标计算节点。
[0017]进一步地,控制装置还包括:判断单元,用于判断是否检测到目标心跳接口的心跳信号;以及添加单元,用于在判断单元判断出检测到目标心跳接口的心跳信号的情况下,添加目标计算节点至分布式系统。
[0018]进一步地,目标心跳接口的数量为多个,添加单元还用于分别添加每个目标计算节点至分布式系统。
[0019]为了实现上述目的,根据本发明的第三方面,提供了一种分布式系统,包括本发明上述内容所提供的任一种分布式系统的控制装置。
[0020]本发明采用在分布式系统中设置包括多个具有心跳接口和数据传输接口的计算节点,在对分布式系统进行控制过程中,检测每个心跳接口的心跳信号;确定未检测到心跳信号的心跳接口为目标心跳接口 ;以及从分布式系统中移除目标计算节点,其中,目标计算节点为具有目标心跳接口的计算节点。通过检测心跳信号存在与否的方式,来确定将对应的计算节点是否移除,实现了无需修改负载均衡器的配置即可控制节点下线,进而避免由于修改错误所导致的数据丢失,解决了现有技术中控制分布式系统中节点下线的方式容易出现数据丢失的问题,进而达到了提高分布式系统计算准确度和运行稳定性的效果。
【专利附图】

【附图说明】
[0021]构成本申请的一部分的附图用来提供对本发明的进一步理解,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:
[0022]图1是根据本发明实施例的分布式系统的控制方法的流程图;
[0023]图2是根据本发明优选实施例的分布式系统的控制方法的流程图;
[0024]图3是根据本发明实施例的分布式系统的控制装置的示意图;以及
[0025]图4是根据本发明优选实施例的分布式系统的控制装置的示意图。
【具体实施方式】
[0026]需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。下面将参考附图并结合实施例来详细说明本发明。
[0027]本发明实施例提供了一种分布式系统的控制方法,该控制方法主要应用于包括多个计算节点的分布式系统,其中,每个计算节点均具有心跳接口和数据传输接口,以下对本发明实施例所提供的分布式系统的控制方法进行具体介绍:
[0028]图1是根据本发明实施例的分布式系统的控制方法的流程图,如图1所示,该方法包括如下的步骤S102至步骤S106:
[0029]S102:检测每个心跳接口的心跳信号,即,由均衡负载器对每个计算节点的心跳接口的心跳信号进行检测。
[0030]S104:确定未检测到心跳信号的心跳接口为目标心跳接口,具体地,如果在预设的一段时间内没有检测到某个心跳接口的心跳信号,则确定这个心跳接口为一个目标心跳信号,即,判断在预设时间内是否检测到第一心跳接口的心跳信号,其中,第一心跳接口为多个心跳接口中的任一心跳接口,在判断出在预设时间内未检测到第一心跳接口的心跳信号的情况下,确定第一心跳接口为一个目标心跳接口。
[0031]S106:从分布式系统中移除目标计算节点,其中,目标计算节点为具有目标心跳接口的计算节点,即,将分布式系统中,具有目标心跳接口的计算节点服务器移除。对于确定出的目标心跳接口的数量为多个的情况,则分别从分布式系统中移除每个目标计算节点。
[0032]本发明实施例的分布式系统的控制方法,通过检测心跳信号存在与否的方式,来确定将对应的计算节点是否移除,实现了无需修改负载均衡器的配置即可控制节点下线,进而避免由于修改错误所导致的数据丢失,解决了现有技术中控制分布式系统中节点下线的方式容易出现数据丢失的问题,实现分布式系统中计算节点的安全下线,进而达到了提高分布式系统计算准确度和运行稳定性的效果。
[0033]进一步地,在检测每个心跳接口的心跳信号之前,本发明实施例的分布式系统的控制方法还包括:接收设置指令,以及按照设置指令将目标心跳接口的访问状态设置为拒绝访问。
[0034]具体地,可以在需要对分布式系统进行计算节点维护的情况,下发设置指令,来将目标心跳接口的访问状态设置为不可访问,这样,在进行心跳信号检测的过程中,均衡服务器将检测不到目标心跳接口的心跳数据,继而会自动将对应的计算节点服务器从分布式系统的均衡池中移除,移除之后,服务器就可以正常进行维护了,从而实现对分布式系统中某个计算节点的维护,不需要人工去修改配置文件。
[0035]图2是根据本发明优选实施例的分布式系统的控制方法的流程图,如图2所示,该优选实施例的分布式系统的控制方法与图1中所示出的控制方法相比,还包括步骤S108和步骤SllO:
[0036]S108:判断是否检测到目标心跳接口的心跳信号,S卩,在将目标计算节点移除后,继续对目标心跳接口的心跳信号进行检测,并判断是否检测到目标心跳接口的心跳信号。
[0037]SllO:在判断出检测到目标心跳接口的心跳信号的情况下,添加目标计算节点至分布式系统。对于目标心跳接口的数量为多个的情况,则分别添加每个目标计算节点至分布式系统。
[0038]通过在将目标计算节点移除后,继续对目标心跳接口的心跳信号进行检测,并在检测到目标心跳接口的心跳信号的情况下,添加目标计算节点至分布式系统,实现了在对计算节点服务器维护结束后,不需要人工去修改配置文件,就能够及时控制该计算节点安全上线,进一步地保证分布式系统的运行稳定性。
[0039]本发明实施例还提供了一种分布式系统的控制装置,该控制装置主要用于执行本发明实施例上述内容所提供的任一种分布式系统的控制方法,应用于包括多个计算节点的分布式系统,其中,每个计算节点均具有心跳接口和数据传输接口,以下对本发明实施例所提供的分布式系统的控制装置进行具体介绍:
[0040]图3是根据本发明实施例的分布式系统的控制装置的示意图,如图3所示,该控制装置主要包括检测单元10、确定单元20和移除单元30
[0041]检测单元10用于检测每个心跳接口的心跳信号,即,对每个计算节点的心跳接口的心跳信号进行检测。
[0042]确定单元20用于确定未检测到心跳信号的心跳接口为目标心跳接口,具体地,确定单元20主要包括判断模块和确定模块,其中,如果判断模块判断出在预设的一段时间内没有检测到某个心跳接口的心跳信号,则确定模块确定这个心跳接口为一个目标心跳信号,即,判断模块用于判断在预设时间内是否检测到第一心跳接口的心跳信号,其中,第一心跳接口为多个心跳接口中的任一心跳接口,确定模块用于在判断出在预设时间内未检测到第一心跳接口的心跳信号的情况下,确定第一心跳接口为一个目标心跳接口。
[0043]移除单元30用于从分布式系统中移除目标计算节点,其中,目标计算节点为具有目标心跳接口的计算节点,即,将分布式系统中,具有目标心跳接口的计算节点服务器移除。对于确定出的目标心跳接口的数量为多个的情况,则分别从分布式系统中移除每个目标计算节点。
[0044]本发明实施例的分布式系统的控制装置,通过检测心跳信号存在与否的方式,来确定将对应的计算节点是否移除,实现了无需修改负载均衡器的配置即可控制节点下线,进而避免由于修改错误所导致的数据丢失,解决了现有技术中控制分布式系统中节点下线的方式容易出现数据丢失的问题,实现分布式系统中计算节点的安全下线,进而达到了提高分布式系统计算准确度和运行稳定性的效果。
[0045]进一步地,本发明实施例的分布式系统的控制装置还包括接收单元和设置单元,其中,在检测每个心跳接口的心跳信号之前,接收单元用于接收设置指令,设置单元用于按照设置指令将目标心跳接口的访问状态设置为拒绝访问。
[0046]具体地,可以在需要对分布式系统进行计算节点维护的情况,下发设置指令至接收单元,并通过设置单元将目标心跳接口的访问状态设置为不可访问,这样,在进行心跳信号检测的过程中,均衡服务器将检测不到目标心跳接口的心跳数据,继而会自动将对应的计算节点服务器从分布式系统的均衡池中移除,移除之后,服务器就可以正常进行维护了,从而实现对分布式系统中某个计算节点的维护,不需要人工去修改配置文件。
[0047]图4是根据本发明优选实施例的分布式系统的控制装置的示意图,如图4所示,该优选实施例的分布式系统的控制装置与图3中所示出的控制装置相比,还包括判断单元40和添加单元50,其中:
[0048]判断单元40用于判断是否检测到目标心跳接口的心跳信号,即,在移除单元30将目标计算节点移除后,检测单元10继续对目标心跳接口的心跳信号进行检测,并由判断单元40判断是否检测到目标心跳接口的心跳信号。
[0049]添加单元50用于在判断单元判断出检测到目标心跳接口的心跳信号的情况下,添加目标计算节点至分布式系统。对于目标心跳接口的数量为多个的情况,则添加单元50分别添加每个目标计算节点至分布式系统。[0050]通过在将目标计算节点移除后,继续对目标心跳接口的心跳信号进行检测,并在检测到目标心跳接口的心跳信号的情况下,添加目标计算节点至分布式系统,实现了在对计算节点服务器维护结束后,不需要人工去修改配置文件,就能够及时控制该计算节点安全上线,进一步地保证分布式系统的运行稳定性。
[0051]此外,本发明实施例还提供了一种分布式系统,该分布式系统主要包括本发明实施例上述内容所提供的任意一种分布式系统的控制装置。
[0052]从以上的描述中,可以看出,本发明实现了实现控制分布式系统中计算节点安全下线,达到了提高分布式系统计算准确度和运行稳定性的效果。
[0053]需要说明的是,在附图的流程图示出的步骤可以在诸如一组计算机可执行指令的计算机系统中执行,并且,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。
[0054]显然,本领域的技术人员应该明白,上述的本发明的各模块或各步骤可以用通用的计算装置来实现,它们可以集中在单个的计算装置上,或者分布在多个计算装置所组成的网络上,可选地,它们可以用计算装置可执行的程序代码来实现,从而,可以将它们存储在存储装置中由计算装置来执行,或者将它们分别制作成各个集成电路模块,或者将它们中的多个模块或步骤制作成单个集成电路模块来实现。这样,本发明不限制于任何特定的硬件和软件结合。
[0055]以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
【权利要求】
1.一种分布式系统的控制方法,其特征在于,所述分布式系统包括多个具有心跳接口和数据传输接口的计算节点,所述控制方法包括: 检测每个所述心跳接口的心跳信号; 确定未检测到所述心跳信号的心跳接口为目标心跳接口 ;以及 从所述分布式系统中移除目标计算节点,其中,所述目标计算节点为具有所述目标心跳接口的计算节点。
2.根据权利要求1所述的控制方法,其特征在于,在检测每个所述心跳接口的心跳信号之前,所述控制方法还包括: 接收设置指令;以及 按照所述设置指令将所述目标心跳接口的访问状态设置为拒绝访问。
3.根据权利要求1或2所述的控制方法,其特征在于,通过以下方式确定所述目标心跳接口: 判断在预设时间内是否检测到第一心跳接口的心跳信号,其中,所述第一心跳接口为多个所述心跳接口中的任一心跳接口 ;以及 在判断出在所述预设时间内未检测到所述第一心跳接口的心跳信号的情况下,确定所述第一心跳接口为一个所述目标心跳接口。
4.根据权利要求1所述的控制方法,其特征在于,所述目标心跳接口的数量为多个,从所述分布式系统中移除目标计算 节点包括: 分别从所述分布式系统中移除每个所述目标计算节点。
5.根据权利要求1所述的控制方法,其特征在于,在移除目标计算节点之后,所述控制方法还包括: 判断是否检测到所述目标心跳接口的心跳信号;以及 在判断出检测到所述目标心跳接口的心跳信号的情况下,添加所述目标计算节点至所述分布式系统。
6.根据权利要求5所述的控制方法,其特征在于,所述目标心跳接口的数量为多个,添加所述目标计算节点至所述分布式系统包括: 分别添加每个所述目标计算节点至所述分布式系统。
7.一种分布式系统的控制装置,其特征在于,所述分布式系统包括多个具有心跳接口和数据传输接口的计算节点,所述控制装置包括: 检测单元,用于检测每个所述心跳接口的心跳信号; 确定单元,用于确定未检测到所述心跳信号的心跳接口为目标心跳接口 ;以及 移除单元,用于从所述分布式系统中移除目标计算节点,其中,所述目标计算节点为具有所述目标心跳接口的计算节点。
8.根据权利要求7所述的控制装置,其特征在于,所述控制装置还包括: 接收单元,用于接收设置指令;以及 设置单元,用于按照所述设置指令将所述目标心跳接口的访问状态设置为拒绝访问。
9.根据权利要求7或8所述的控制装置,其特征在于,所述确定单元包括: 判断模块,用于判断在预设时间内是否检测到第一心跳接口的心跳信号,其中,所述第一心跳接口为多个所述心跳接口中的任一心跳接口 ;以及确定模块,用于在所述判断模块判断出在所述预设时间内未检测到所述第一心跳接口的心跳信号的情况下,确定所述第一心跳接口为一个所述目标心跳接口。
10.根据权利要求7所述的控制装置,其特征在于,所述目标心跳接口的数量为多个,所述移除单元还用于分别从所述分布式系统中移除每个所述目标计算节点。
11.根据权利要求7所述的控制装置,其特征在于,所述控制装置还包括: 判断单元,用于判断是否检测到所述目标心跳接口的心跳信号;以及 添加单元,用于在所述判断单元判断出检测到所述目标心跳接口的心跳信号的情况下,添加所述目标计算节点至所述分布式系统。
12.根据权利要求11所述的控制装置,其特征在于,所述目标心跳接口的数量为多个,所述添加单元还用于分别添加每个所述目标计算节点至所述分布式系统。
13.—种分布式系统,其特征在于,包括权利要求7至12中任一项所述的分布式系统的控制装置。`
【文档编号】H04L29/08GK103516556SQ201310504971
【公开日】2014年1月15日 申请日期:2013年10月23日 优先权日:2013年10月23日
【发明者】杨基彬 申请人:北京国双科技有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1