一种跨集群高可用的实现方法、装置、系统及设备与流程

文档序号:22397256发布日期:2020-09-29 18:07阅读:84来源:国知局
一种跨集群高可用的实现方法、装置、系统及设备与流程

本发明涉及大数据技术领域,特别涉及一种跨集群高可用的实现方法、装置、系统及设备。



背景技术:

高可用集群,英文原文为highavailabilitycluster,简称hacluster,简单的说,集群(cluster)就是一组计算机,它们作为一个整体向用户提供一组网络资源。这些单个的计算机系统就是集群的节点(node)。高可用性集群(hacluster)是指如单系统一样地运行并支持(计算机)持续正常运行的一个主机群。高可用集群是指以减少服务中断时间为目的的服务器集群技术,它通过保护用户的业务程序对外不间断提供的服务,把因软件/硬件/人为造成的故障对业务的影响降低到最小程度。

因此,目前在大数据领域,提供数据实时读写能力的组件,比如hbase和es等服务,集群内各角色均为高可用设计,多集群之间采用数据同步技术。然而行业内搭建多集群,主要用于读写分离和数据备份使用,但并不具备在多个集群之间自动切换访问和并发访问的能力,具体体现在如下方面:1、切换集群,需要更改客户端配置后重启;2、无法在服务端控制客户端切换集群;3、当客户端请求等待时间过长时,无法同时请求其他集群。



技术实现要素:

为了解决现有技术的问题,本发明实施例提供了一种跨集群高可用的实现方法、装置、系统及设备,解决了现有技术中跨集群方面存在的诸多弊端。所述技术方案如下:

第一方面,提供了一种跨集群高可用的实现方法,所述方法包括:

监控通过数据同步配置的至少两个数据服务集群的集群信息,所述集群信息至少包括集群状态信息和集群地址信息;通过分布式协调服务实时获取所述集群信息;根据所述集群信息进行相应数据服务集群的请求访问。

结合第一方面,在第一种可能的实现方式中,所述监控通过数据同步配置的至少两个数据服务集群的集群信息,包括:定时监控至少两个数据服务集群的集群状态信息;将集群状态发生变更的集群状态信息通知至所述分布式协调服务。

结合第一方面的第一种可能实现方式,在第二种可能实现方式中,所述数据同步配置包括:配置所述至少两个数据服务集群之间的相互复制关系,并将带有源集群id信息的数据服务请求在所述至少两个数据服务集群之间进行同步。

结合第一方面,在第三种可能实现方式中,所述通过分布式协调服务实时获取所述集群信息,包括:实时监听所述集群信息,并实时对集群状态发生变更的集群状态信息进行相应通知。

结合第一方面及第一方面的第一至三种可能实现方式的任一种,在第四至七种可能实现方式中,所述根据所述集群信息进行相应数据服务集群的请求访问,包括:根据所述集群信息,优先访问集群状态为可用的顺序靠前的集群。

结合第一方面的第四至七种可能实现方式,在第八至十一种可能实现方式中,所述根据所述集群信息,优先访问集群状态为可用的顺序靠前的集群,包括:根据所述集群信息,获取第一个集群地址,判断当前集群状态是否可用,当判断结果为不可用,获取下一个集群地址,跳转至判断当前集群状态是否可用的步骤;当判断结果为可用,请求访问当前集群,进一步判断当前集群处理时间是否超过预设阈值,若未超过,获取集群反馈结果;若超过,并发请求访问下一个可用集群,获取优先返回的集群反馈结果。

第二方面,提供了一种跨集群高可用的实现装置,所述装置包括:监控模块,用于监控通过数据同步配置的至少两个数据服务集群的集群信息,所述集群信息至少包括集群状态信息和集群地址信息;分布式协调服务模块,用于通过分布式协调服务实时获取所述集群信息;请求访问控制模块,用于根据所述集群信息进行相应数据服务集群的请求访问。

结合第一方面,在第一种可能的实现方式中,所述监控模块定时监控至少两个数据服务集群的集群状态信息,并将集群状态发生变更的集群状态信息通知至所述分布式协调服务模块。

结合第一方面的第一种可能实现方式,在第二种可能实现方式中,所述分布式协调服务模块用于实时监听所述集群信息,并实时对集群状态发生变更的集群信息进行相应通知。

结合第一方面,在第三种可能实现方式中,所述装置还包括数据同步配置模块,所述数据同步配置模块配置所述至少两个数据服务集群之间的相互复制关系,并将带有源集群id信息的数据服务请求在所述至少两个数据服务集群之间进行同步。

结合第一方面及第一方面的第一至三种可能实现方式的任一种,在第四至七种可能实现方式中,所述请求访问控制模块根据所述集群信息,优先访问集群状态为可用的顺序靠前的集群。

结合第一方面的第四至七种可能实现方式,在第八至十一种可能实现方式中,所述请求访问控制模块根据所述集群信息,优先访问集群状态为可用的顺序靠前的集群,包括:根据所述集群信息,获取第一个集群地址,判断当前集群状态是否可用,当判断结果为不可用,获取下一个集群地址,跳转至判断当前集群状态是否可用的步骤;当判断结果为可用,请求访问当前集群,进一步判断当前集群处理时间是否超过预设阈值,若未超过,获取集群反馈结果;若超过,并发请求访问下一个可用集群,获取优先返回的集群反馈结果。

第三方面,提供了一种跨集群高可用的实现系统,所述系统包括:通过数据同步配置的至少两个数据服务集群,用于实现客户端对数据服务的请求访问;服务端,包括监控装置和分布式协调服务器,所述监控装置用于监控所述至少两个数据服务集群的集群信息,所述集群信息至少包括集群状态信息和集群地址信息;所述分布式协调服务器,用于通过分布式协调服务实时获取所述集群信息;客户端,包括控制器,所述控制器用于根据从所述服务端接收的所述集群信息进行相应数据服务集群的请求访问。

结合第三方面,在第一种可能实现方式中,所述监控装置定时监控至少两个数据服务集群的集群状态信息,并将集群状态发生变更的集群状态信息通知至所述分布式协调服务器;所述控制器从所述分布式协调服务器获取所述集群信息,根据所述集群信息,获取第一个集群地址,判断当前集群状态是否可用,当判断结果为不可用,获取下一个集群地址,跳转至判断当前集群状态是否可用的步骤;当判断结果为可用,请求访问当前集群,进一步判断当前集群处理时间是否超过预设阈值,若未超过,获取集群反馈结果;若超过,并发请求访问下一个可用集群,获取优先返回的集群反馈结果。

第四方面,提供了一种跨集群高可用的实现设备,所述设备包括:处理器;存储器,用于存储有所述处理器的可执行指令;其中,所述处理器配置为经由所述可执行指令来执行上述方案任一项所述的实现跨集群高可用的方法的步骤。

本发明实施例提供的跨集群高可用的实现方法、装置、系统及设备,通过对数据同步的至少两个数据服务集群的集群信息进行监控,然后通过分布式协调服务实时获取集群信息,然后根据实时获取的集群信息进行相应数据服务集群的请求访问,实现了以下几个有益效果:

1、首先,实现了在多集群间更流畅地进行集群迁移和切换,即进行客户端无感知的集群迁移和切换,并且是可以手工在服务端无缝切换集群,满足集群运维需要,实现了大数据实时读写等数据服务的多集群高可用以提升整体可用性;

2、其次,当服务端集群进行运维操作时,不影响客户端访问,减少客户端异常率;当请求时间超过阈值时,客户端可以并发请求其他集群,减少客户端等待时间,减少客户端最大请求时延;

3、再者,使得服务端具备调整不同客户端租户访问不同服务端的能力,实现了客户端并行访问多集群的能力以减少客户端响应时间,具有高效、精准控制的优点。

附图说明

为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

图1是本发明实施例提供的跨集群高可用的实现方法流程图;

图2是本发明实施例提供的跨集群高可用的实现方法的整体框架示例;

图3是本发明实施例提供的跨集群高可用的实现方法中103步骤示例;

图4是本发明实施例提供的跨集群高可用的实现装置结构示意图;

图5是本发明实施例提供的跨集群高可用的实现装置进行跨集群高可用业务的请求时序示例;

图6是本发明实施例提供的跨集群高可用的实现系统结构示意图;

图7是本发明实施例提供的跨集群高可用的实现设备结构示意图。

具体实施方式

为使本发明的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。需要说明的是,在本发明的描述中,“多个”的含义是两个以上,除非另有明确具体的限定。

本发明实施例提供的一种跨集群高可用的实现方法、装置、系统及设备,通过对数据同步的至少两个数据服务集群的集群信息进行监控,然后通过分布式协调服务实时获取集群信息,然后根据实时获取的集群信息进行相应数据服务集群的请求访问。由此实现了在多集群间更流畅地进行集群迁移和切换,即进行客户端无感知的集群迁移和切换,并且是可以手工在服务端无缝切换集群,满足集群运维需要;另外,还能减少客户端最大请求时延,具有高效、精准控制的优点。因此,该跨集群高可用的实现方法、装置、系统及设备,不仅实现了大数据实时读写等数据服务的多集群高可用以提升整体可用性,还实现了客户端并行访问多集群的能力以减少客户端响应时间,可广泛应用于涉及高可用集群运维的大数据领域。

下面结合具体实施例及附图,对本发明实施例提供的跨集群高可用的实现方法、装置、系统及设备作详细说明。

实施例1

图1是本发明实施例提供的跨集群高可用的实现方法流程图,图2是本发明实施例提供的跨集群高可用的实现方法的整体框架示例。如图1和图2所示,本发明实施例提供的跨集群高可用的实现方法,包括以下步骤:

101、监控通过数据同步配置的至少两个数据服务集群的集群信息,集群信息至少包括集群状态信息和集群地址信息。

这里,可以利用已有或临时搭建的至少两个(即两个或多个)数据服务集群,并在各集群间配置数据同步功能,即配置至少两个数据服务集群之间的相互复制关系,并将带有源集群id信息的数据服务请求在至少两个数据服务集群之间进行同步,例如,当某一个集群有数据写请求时,将写请求同步至其他集群,请求中记录源集群id,防止请求回传至源系统。另外,这里数据服务集群的数据服务种类包括数据实时读写服务等。

具体的,上述101步骤可以按照以下方式进行:

定时监控至少两个数据服务集群的集群状态信息;将集群状态发生变更的集群状态信息通知至分布式协调服务。

为了定时监控各集群状态信息,需要部署一个监控程序或监控模块,一般定时频率可以设置为1~10秒一次的频率,除此之外,还需要搭建一个具备分布式协调功能的服务,用于记录各集群信息,尤其是集群状态信息,这里的集群状态信息主要包括集群可用性信息以及集群可用性发生变更等状态信息。

值得注意的是,步骤101监控通过数据同步配置的至少两个数据服务集群的集群信息的过程,除了上述步骤所述的方式之外,还可以通过其他方式实现该过程,本发明实施例对具体的方式不加以限定。

102、通过分布式协调服务实时获取集群信息。

具体的,实时监听集群信息,并实时对集群状态发生变更的集群状态信息进行相应通知。通过分布式协调服务将集群状态发生变更的集群状态信息进行通知,如通知至客户端,从而由经过访问配置的客户端访问分布式协调服务,获取各数据服务集群的集群信息。

值得注意的是,步骤102通过分布式协调服务实时获取集群信息的过程,除了上述步骤所述的方式之外,还可以通过其他方式实现该过程,本发明实施例对具体的方式不加以限定。

103、根据集群信息进行相应数据服务集群的请求访问。

根据集群信息,优先访问集群状态为可用的顺序靠前的集群。

具体的,包括以下子步骤:

根据集群信息,获取第一个集群地址,

判断当前集群状态是否可用,当判断结果为不可用,获取下一个集群地址,跳转至判断当前集群状态是否可用的步骤;

当判断结果为可用,请求访问当前集群,进一步判断当前集群处理时间是否超过预设阈值,若未超过,获取集群反馈结果;若超过,并发请求访问下一个可用集群,获取优先返回的集群反馈结果。

这里,优选地,在获取第一个集群地址之前,请求分布式协调服务,获取当前客户端租户的所有配置的集群地址。事实上,本发明实施例对获取配置集群地址的时间点不加以特别限制,可以根据实际情况进行选择。

图3是本发明实施例提供的跨集群高可用的实现方法中103步骤示例。如图3所示,103步骤包括以下子步骤:

step1:客户端请求分布式协调服务,获取当前客户端租户的所有配置的集群地址;

step2:获取第一个集群;

step3:判断当前集群状态是否可用,不可用跳转至step4,可用调整至step5;

step4:获取下一个集群,跳转至step3;

step5:请求当前集群;

step6:判断当前集群处理时间是否超过预设阈值,超过跳转至step7,可用调整至step9;

step7:并发请求下一个可用集群;

step8:获取优先返回的集群反馈结果,结束当前流程;

step9:获取集群反馈结果,结束当前流程。

值得注意的是,步骤103根据集群信息进行相应数据服务集群的请求访问的过程,除了上述步骤所述的方式之外,还可以通过其他方式实现该过程,本发明实施例对具体的方式不加以限定。

实施例2

图4是本发明实施例提供的跨集群高可用的实现装置结构示意图。图5是本发明实施例提供的跨集群高可用的实现装置进行跨集群高可用业务的请求时序示例。如图4和图5所示,本发明实施例提供的跨集群高可用的实现装置2包括监控模块21、分布式协调服务模块22和请求访问控制模块23。

其中,监控模块21,用于监控通过数据同步配置的至少两个数据服务集群的集群信息,集群信息至少包括集群状态信息和集群地址信息。具体的,监控模块21定时监控至少两个数据服务集群的集群状态信息,并将集群状态发生变更的集群状态信息通知至分布式协调服务模块22。

分布式协调服务模块22,用于通过分布式协调服务实时获取集群信息。具体的,分布式协调服务模块22用于实时监听集群信息,并实时对集群状态发生变更的集群信息进行相应通知。

请求访问控制模块23,用于根据集群信息进行相应数据服务集群的请求访问。具体的,请求访问控制模块23根据集群信息,优先访问集群状态为可用的顺序靠前的集群,进一步包括以下子步骤:

根据集群信息,获取第一个集群地址,

判断当前集群状态是否可用,当判断结果为不可用,获取下一个集群地址,跳转至判断当前集群状态是否可用的步骤;

当判断结果为可用,请求访问当前集群,进一步判断当前集群处理时间是否超过预设阈值,若未超过,获取集群反馈结果;若超过,并发请求访问下一个可用集群,获取优先返回的集群反馈结果。

另外,上述跨集群高可用的实现装置还包括数据同步配置模块24,数据同步配置模块24配置至少两个数据服务集群之间的相互复制关系,并将带有源集群id信息的数据服务请求在至少两个数据服务集群之间进行同步。

优选地,将监控模块21、分布式协调服务模块22和数据同步配置模块24设置在客户端,将请求访问控制模块23设置在服务端。事实上,只要不脱离本发明的发明构思,对于跨集群高可用的实现装置中的监控模块21、分布式协调服务模块22、请求访问控制模块23和数据同步配置模块24,如何进行终端设置,可以根据实际情况来确定,本发明实施例不对其加以特别限定。

实施例3

图6是本发明实施例提供的跨集群高可用的实现系统结构示意图,如图6所示,本发明实施例提供的跨集群高可用的实现系统包括通过数据同步配置的至少两个数据服务集群、客户端31及服务端32。其中,至少两个数据服务集群用于实现客户端对数据服务的请求访问。

服务端31包括监控装置311和分布式协调服务器312,监控装置311用于监控至少两个数据服务集群的集群信息,集群信息至少包括集群状态信息和集群地址信息。分布式协调服务器312,用于通过分布式协调服务实时获取集群信息。监控装置311定时监控至少两个数据服务集群的集群状态信息,并将集群状态发生变更的集群状态信息通知至分布式协调服务器312。分布式协调服务器312用于实时监听集群信息,并实时对集群状态发生变更的集群信息进行相应通知。

客户端32包括控制器321,控制器321用于根据从服务端31接收的集群信息进行相应数据服务集群的请求访问,优选地地根据集群信息,优先访问集群状态为可用的顺序靠前的集群。具体地,控制器321从分布式协调服务器312获取集群信息,根据集群信息,获取第一个集群地址,判断当前集群状态是否可用,当判断结果为不可用,获取下一个集群地址,跳转至判断当前集群状态是否可用的步骤;当判断结果为可用,请求访问当前集群,进一步判断当前集群处理时间是否超过预设阈值,若未超过,获取集群反馈结果;若超过,并发请求访问下一个可用集群,获取优先返回的集群反馈结果。

实施例4

图7是本发明实施例提供的跨集群高可用的实现设备结构示意图,如图7所示本发明实施例提供的跨集群高可用的实现设备4包括处理器41和存储器42;存储器42,用于存储有处理器41的可执行指令;其中,处理器41配置为经由可执行指令来执行本发明实施例提供的实现跨集群高可用的方法的步骤。

需要说明的是:上述实施例提供的跨集群高可用的实现装置、系统及设备在触发跨集群高可用实现业务时,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将装置、系统或设备的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。另外,上述实施例提供的跨集群高可用的实现装置、系统及设备与跨集群高可用的实现方法实施例属于同一构思,其具体实现过程详见方法实施例,这里不再赘述。

上述所有可选技术方案,可以采用任意结合形成本发明的可选实施例,在此不再一一赘述。

综上所述,本发明实施例提供的跨集群高可用的实现方法、装置、系统及设备,通过对数据同步的至少两个数据服务集群的集群信息进行监控,然后通过分布式协调服务实时获取集群信息,然后根据实时获取的集群信息进行相应数据服务集群的请求访问,与现有技术相比具有以下有益效果:

1、首先,实现了在多集群间更流畅地进行集群迁移和切换,即进行客户端无感知的集群迁移和切换,并且是可以手工在服务端无缝切换集群,满足集群运维需要,实现了大数据实时读写等数据服务的多集群高可用以提升整体可用性;

2、其次,当服务端集群进行运维操作时,不影响客户端访问,减少客户端异常率;当请求时间超过阈值时,客户端可以并发请求其他集群,减少客户端等待时间,减少客户端最大请求时延;

3、再者,使得服务端具备调整不同客户端租户访问不同服务端的能力,实现了客户端并行访问多集群的能力以减少客户端响应时间,具有高效、精准控制的优点。

本领域普通技术人员可以理解实现上述实施例的全部或部分步骤可以通过硬件来完成,也可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,上述提到的存储介质可以是只读存储器,磁盘或光盘等。

本申请实施例中是参照根据本申请实施例中实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。

这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。

这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。

尽管已描述了本申请实施例中的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例作出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本申请实施例中范围的所有变更和修改。

显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。

以上所述仅为本发明的较佳实施例,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

本说明书中未作详细描述的内容属于本领域专业技术人员公知的现有技术。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1