基于ZooKeeper技术的业务集群方法及系统的制作方法

文档序号:7764478阅读:292来源:国知局
专利名称:基于ZooKeeper技术的业务集群方法及系统的制作方法
技术领域
本发明涉及分布式系统集群技术领域,尤其涉及一种基于ZooK^per技术的业务 节点集群方法及系统。
背景技术
分布式系统是建立在网络之上的软件系统,因为软件的特性,所以分布式系统具 有高度的内聚性和透明性。在一个分布式系统中,一组独立的计算机展现给用户的是一个 统一的整体,系统拥有多种通用的物理和逻辑资源,可以动态的分配任务,分散的物理和逻 辑资源通过计算机网络实现信息交换。因为分布式系统的巨大优势,近年来其在互联网中的应用越来越广泛。但是分布 式系统的中各个服务节点是依赖互联网相互通信,中间会存在某些潜在问题,如单点故障、 故障恢复、扩张性等问题。其中如何保证系统中每个业务节点都正常运行是个关键问题。目前对单点故障恢复的解决方案是在分布式系统中采用业务节点集群技术,即规 定系统中各个计算机对某业务的主备关系,从而规定各个业务节点对该业务的主备关系; 当主用业务节点故障时,将该业务切换至备用业务节点进行。但是申请人研究发现,现有的技术的业务节点集群方法,至少存在以下缺陷1)主用节点故障时,由于备用节点需要重新下载业务信息,所以导致业务中断的 时间较长;2)主用节点故障时,如果其备用节点也处于故障状态,那么业务就会终止。

发明内容
有鉴于此,本发明提供一种基于ZooK^per技术的业务节点集群方法及系统,以 解决现有技术的业务节点集群方法,所带来的业务中断时间较长,以及备用节点故障时,业 务中断的问题,技术方案如下一种基于ZooK^per技术的业务节点集群方法,利用ZooK^per服务器实现业务 节点集群,该方法包括获取用户的业务执行请求;从所述请求中读取所述业务的业务信息,并将所述业务信息在所述ZooK^per服 务器的所有业务节点进行备份;从所述所有业务节点中选举一个最优节点,作为主用业务节点为用户提供业务服 务,其它业务节点作为备用业务节点,其中,所述备用业务节点的业务数据随主用业务节点 业务数据的更新而更新;启动一个监听器监听所述主用业务节点的运行状态;当所述主用业务节点的运行状态为故障时,从所述备用业务节点中选举出一个最 优节点作为当前业务节点,为用户提供业务服务。优选的,上述方法中,还包括
启动一个监听器监听所述当前业务节点的运行状态;当所述当前业务节点的运行状态为故障时,从其它备用业务节点中选举出一个最 优节点作为当前业务节点,为用户提供服务。优选的,上述方法中,从所述备用业务节点中选举出一个最优节点作为当前业务 节点,为用户提供业务服务之后,还包括启动一个监听器继续监听所述主用业务节点的运行状态;当所述主用业务节点的运行状态恢复正常时,将所述业务切换至所述主用业务节
点ο优选的,上述方法中,所述ZooKe印er服务器为集群服务器。优选的,上述方法中,所述从所有业务节点中选举一个最优节点作为主用业务节 点的依据,以及所述从备用业务节点中选举出一个最优节点作为当前业务节点的依据为 所述节点的业务负荷最小,和/或所述节点的网络延迟最小。一种基于ZooK^per技术的业务节点集群系统,利用ZooK^per服务器实现业务 节点集群,该系统包括业务请求获取单元,用于获取用户的业务执行请求;业务信息备份单元,用于从所述请求中读取所述业务的业务信息,并将所述业务 信息在所述ZooK^per服务器的所有业务节点进行备份;主用业务节点选举单元,用于从所述所有业务节点中选举一个最优节点,作为主 用业务节点为用户提供业务服务,其它业务节点作为备用业务节点,其中,所述备用业务节 点的业务数据随主用业务节点业务数据的更新而更新;第一监听单元,用于启动一个监听器监听所述主用业务节点的运行状态;第一切换单元,用于当所述主用业务节点的运行状态为故障时,从所述备用业务 节点中选举出一个最优节点作为当前业务节点,为用户提供业务服务。优选的,上述系统中,还包括第二监听单元,用于启动一个监听器监听所述当前业务节点的运行状态;第二切换单元,用于当所述当前业务节点的运行状态为故障时,从其它备用业务 节点中选举出一个最优节点作为当前业务节点,为用户提供服务。优选的,上述系统中,还包括第三监听单元,用于在所述第一切换单元从所述备用业务节点中选举出一个最优 节点作为当前业务节点,为用户提供业务服务之后,启动一个监听器继续监听所述主用业 务节点的运行状态;第三切换单元,用于当所述主用业务节点的运行状态恢复正常时,将所述业务切 换至所述主用业务节点。通过以上技术方案可知,本发明利用利用ZooKe印er服务器实现业务节点集群, 通过业务信息在各业务节点的备份,主用业务点的选举,对主用业务点的的监听,备用业务 节点业务数据随主用业务节点业务数据的更新,以及主用业务节点故障时,当前业务节点 的选举,实现了业务节点的高可靠性及高性能的集群;主用节点故障时,由于备用节点中已 经存在主用业务节点的业务信息,因此不用重新下载,业务也不会发生中断;另外,本发明 定义的备用节点是一个集群节点,主用节点故障时,是从该集群节点中选举出最优节点进行业务切换,从而避免了现有技术由于指定备用业务节点可能造成的业务终端及业务性能 降低的问题。


为了更清楚地说明本发明的技术方案,下面将对本发明描述中所需要使用的附图 作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普 通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。图1为本发明实施例提供的基于ZooKeeper技术的业务节点集群方法流程图1 ;图2为本发明实施例提供的基于ZooKeeper技术的业务节点集群方法流程图2 ;图3为本发明实施例提供的基于ZooKeeper技术的业务节点集群方法流程图3 ;图4为本发明实施例提供的基于ZooK^per技术的业务节点集群系统结构示意图 1 ;图5为本发明实施例提供的基于ZooK^per技术的业务节点集群系统结构示意图 2 ;图6为本发明实施例提供的基于ZooK^per技术的业务节点集群系统结构示意图 3。
具体实施例方式首先对本发明实施例提供的基于ZooKeeper技术的业务节点集群方法进行说明。本发明实施例提供的基于ZooK^per技术的业务节点集群方法,利用ZooKe印er 服务器实现业务节点集群,该方法包括获取用户的业务执行请求;从所述请求中读取所述业务的业务信息,并将所述业务信息在所述ZooK^per服 务器的所有业务节点进行备份;从所述所有业务节点中选举一个最优节点,作为主用业务节点为用户提供业务服 务,其它业务节点作为备用业务节点,其中,所述备用业务节点的业务数据随主用业务节点 业务数据的更新而更新;启动一个监听器监听所述主用业务节点的运行状态;当所述主用业务节点的运行状态为故障时,从所述备用业务节点中选举出一个最 优节点作为当前业务节点,为用户提供业务服务。通过以上技术方案可知,本发明利用ZooKe印er服务器实现业务节点集群,通过 业务信息在各业务节点的备份,主用业务点的选举,对主用业务点的的监听,备用业务节点 业务数据随主用业务节点业务数据的更新,以及主用业务节点故障时,当前业务节点的选 举,实现了业务节点的高可靠性及高性能的集群;主用节点故障时,由于备用节点中已经存 在主用业务节点的业务信息,因此不用重新下载,业务也不会发生中断;另外,本发明定义 的备用节点是一个集群节点,主用节点故障时,是从该集群节点中选举出最优节点进行业 务切换,从而避免了现有技术由于指定备用业务节点可能造成的业务终止及业务性能降低 的问题。 下面将结合本发明中的附图,对本发明的技术方案进行清楚、完整地描述。
6
在本发明的一个实施例中,参见图1所示,本发明实施例提供的基于ZooKe印er技 术的业务节点集群方法,可以包括以下步骤S101,获取用户的业务执行请求。本发明实施例利用ZooKe印er服务器实现业务节点集群,在部署并启动 ZooKeeper服务器后,首先获取用户的业务执行请求。其中,所述ZooK^per服务器可以部署为单独的服务器,也可以部署为集群服务 器。此外,当ZooKe印er服务集群与执行业务的分布式系统,部署在相同的机器上时,由于 减少了网络连接及传输的消耗,可以使整个系统的性能得到提升。S102,从所述请求中读取所述业务的业务信息,并将所述业务信息在所述 ZooKeeper服务器的所有业务节点进行备份。获取用户的业务执行请求后,从所述请求中读取所述业务的业务信息,并将所述 业务信息在ZooK^per服务器集成的所有业务节点进行备份,以便后续的业务处理。S103,从所述所有业务节点中选举一个最优节点,作为主用业务节点为用户提供 业务服务,其它业务节点作为备用业务节点,其中,所述备用业务节点的业务数据随主用业 务节点业务数据的更新而更新。业务信息在ZooK^per服务器集成的所有业务节点进行备份后,从所述所有业务 节点中选举一个最优节点,作为主用业务节点为用户提供业务服务,其它业务节点作为备 用业务节点。其中,从所有业务节点中选举一个最优节点作为主用业务节点的依据可以为所 述节点的业务负荷最小,和/或所述节点的网络延迟最小。此外,所述备用业务节点的业务数据随主用业务节点业务数据的更新而更新。更 新时,主用业务节点接到业务信息更新后,通过广播向备用业务节点传递业务更新信息,更 新成功后,备用业务节点向主用业务节点发送响应信息。另外,本发明定义的备用节点是一组集群节点,主用节点故障时,是从该集群节点 中选举出最优节点进行业务切换,从而避免了现有技术由于指定备用业务节点可能造成的 业务终止及业务性能降低的问题。S104,启动一个监听器监听所述主用业务节点的运行状态。选举出主用业务节点为用户提供服务后,业务执行过程中,启动一个监听器监听 所述主用业务节点的运行状态。S105,当所述主用业务节点的运行状态为故障时,从所述备用业务节点中选举出 一个最优节点作为当前业务节点,为用户提供业务服务。当监听器监听到的主用业务节点的运行状态为故障时,从所述备用业务节点中选 举出一个最优节点作为当前业务节点,为用户提供业务服务。由于备用节点中已经存在主 用业务节点的业务信息,因此不用重新下载,业务也不会发生中断。其中,所述从备用业务节点中选举出一个最优节点作为当前业务节点的依据可以 为所述节点的业务负荷最小,和/或所述节点的网络延迟最小。在本发明的一个实施例中,参见图2所示,本发明实施例提供的基于ZooK^per技 术的业务节点集群方法,可以包括以下步骤S201,获取用户的业务执行请求。
7
S202,从所述请求中读取所述业务的业务信息,并将所述业务信息在所述 ZooKeeper服务器的所有业务节点进行备份。S203,从所述所有业务节点中选举一个最优节点,作为主用业务节点为用户提供 业务服务,其它业务节点作为备用业务节点,其中,所述备用业务节点的业务数据随主用业 务节点业务数据的更新而更新。S204,启动一个监听器监听所述主用业务节点的运行状态。S205,当所述主用业务节点的运行状态为故障时,从所述备用业务节点中选举出 一个最优节点作为当前业务节点,为用户提供业务服务。S206,启动一个监听器监听所述当前业务节点的运行状态。S207,当所述当前业务节点的运行状态为故障时,从其它备用业务节点中选举出 一个最优节点作为当前业务节点,为用户提供服务。本实施例中,S201-S205与上一实施例中的S101-S105——对应,因此,具体实施 方式参照上一实施例即可,故此不再赘述。相比上一实施例,本实施例中增加了 S206和S207,即增加了对主备切换后的业务 节点即当前业务节点的监听,并在当前业务节点故障时,重新进行当前业务节点的选举,从 而进一步增强了业务节点的可靠性,最大限度的降低了由于业务节点故障可能带来的业务 终止的可能性。其中,所述从其它备用业务节点中选举出一个最优节点作为当前业务节点的依据 为所述节点的业务负荷最小,和/或所述节点的网络延迟最小。在本发明的一个实施例中,参见图3所示,本发明实施例提供的基于ZooK^per技 术的业务节点集群方法,可以包括以下步骤S301,获取用户的业务执行请求。S302,从所述请求中读取所述业务的业务信息,并将所述业务信息在所述 ZooKeeper服务器的所有业务节点进行备份。S303,从所述所有业务节点中选举一个最优节点,作为主用业务节点为用户提供 业务服务,其它业务节点作为备用业务节点,其中,所述备用业务节点的业务数据随主用业 务节点业务数据的更新而更新。S304,启动一个监听器监听所述主用业务节点的运行状态。S305,当所述主用业务节点的运行状态为故障时,从所述备用业务节点中选举出 一个最优节点作为当前业务节点,为用户提供业务服务。S306,启动一个监听器继续监听所述主用业务节点的运行状态。S307,当所述主用业务节点的运行状态恢复正常时,将所述业务切换至所述主用 业务节点。本实施例中,S301-S305与图1所示的实施例中的S101-S105——对应,因此,具 体实施方式参照图1所示的实施例即可,故此不再赘述。相比与图1所示的实施例,本实施例增加了 S306和S307,即增加了在业务节点切 换后,对主用业务节点的继续监控,并在主用业务节点故障恢复时,将业务切换回主用业务 节点。因为在最初的主用业务节点选择时,除了考虑各业务节点的业务负荷和网络延迟外, 还考虑到了相似业务的统筹规划,业务节点的布局等因素,因此,最初选择的主用业务节点可能是最符合上述要求的节点,因此在主用业务节点故障恢复时,可以选择将业务切换回 主用业务节点,以期达到对业务规划和节点布局影响最小的效果,从而节省了因为需要变 换业务规划和节点布局带来的人力和资源的成本。通过以上的方法实施例的描述,所属领域的技术人员可以清楚地了解到本发明可 借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者 是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡 献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包 括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执 行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括只读存储器 (ROM)、随机存取存储器(RAM)、磁碟或者光盘等各种可以存储程序代码的介质。相应于上面的方法实施例,本发明还公开了基于ZooKe印er技术的业务集群系 统,参见图4所示,在本发明的一个实施例中,本发明公开的基于ZooK^per技术的业务集 群系统,可以包括业务请求获取单元401,用于获取用户的业务执行请求。业务信息备份单元402,用于从所述请求中读取所述业务的业务信息,并将所述业 务信息在所述ZooK^per服务器的所有业务节点进行备份。主用业务节点选举单元403,用于从所述所有业务节点中选举一个最优节点,作为 主用业务节点为用户提供业务服务,其它业务节点作为备用业务节点,其中,所述备用业务 节点的业务数据随主用业务节点业务数据的更新而更新。第一监听单元404,用于启动一个监听器监听所述主用业务节点的运行状态。第一切换单元405,用于当所述主用业务节点的运行状态为故障时,从所述备用业 务节点中选举出一个最优节点作为当前业务节点,为用户提供业务服务。在本发明的一个实施例中,参见图5所示,本发明实施例提供的基于ZooK^per技 术的业务集群系统,可以包括业务请求获取单元501,用于获取用户的业务执行请求。业务信息备份单元502,用于从所述请求中读取所述业务的业务信息,并将所述业 务信息在所述ZooK^per服务器的所有业务节点进行备份。主用业务节点选举单元503,用于从所述所有业务节点中选举一个最优节点,作为 主用业务节点为用户提供业务服务,其它业务节点作为备用业务节点,其中,所述备用业务 节点的业务数据随主用业务节点业务数据的更新而更新。
第一监听单元504,用于启动一个监听器监听所述主用业务节点的运行状态。第一切换单元505,用于当所述主用业务节点的运行状态为故障时,从所述备用业 务节点中选举出一个最优节点作为当前业务节点,为用户提供业务服务。第二监听单元506,用于启动一个监听器监听所述当前业务节点的运行状态;第二切换单元507,用于当所述当前业务节点的运行状态为故障时,从其它备用业 务节点中选举出一个最优节点作为当前业务节点,为用户提供服务。在本发明的一个实施例中,参见图6所示,本发明实施例提供的基于ZooK^per技 术的业务集群系统,可以包括业务请求获取单元601,用于获取用户的业务执行请求。
业务信息备份单元602,用于从所述请求中读取所述业务的业务信息,并将所述业 务信息在所述ZooK^per服务器的所有业务节点进行备份。主用业务节点选举单元603,用于从所述所有业务节点中选举一个最优节点,作为 主用业务节点为用户提供业务服务,其它业务节点作为备用业务节点,其中,所述备用业务 节点的业务数据随主用业务节点业务数据的更新而更新。第一监听单元604,用于启动一个监听器监听所述主用业务节点的运行状态。第一切换单元605,用于当所述主用业务节点的运行状态为故障时,从所述备用业 务节点中选举出一个最优节点作为当前业务节点,为用户提供业务服务。第三监听单元606,用于在所述第一切换单元605从所述备用业务节点中选举出 一个最优节点作为当前业务节点,为用户提供业务服务之后,启动一个监听器继续监听所 述主用业务节点的运行状态;第三切换单元607,用于当所述主用业务节点的运行状态恢复正常时,将所述业务 切换至所述主用业务节点。对于系统实施例而言,由于其基本相应于方法实施例,所以相关之处参见方法实 施例的部分说明即可。以上所描述的系统实施例仅仅是示意性的,其中所述作为分离部件 说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以 不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的 需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不 付出创造性劳动的情况下,即可以理解并实施。需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实 体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存 在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵 盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要 素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备
所固有的要素。在没有更多限制的情况下,由语句“包括一个......”限定的要素,并不排
除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。另外,所描述系统和方法以及不同实施例的示意图,在不超出本申请的范围内,可 以与其它系统,模块,技术或方法结合或集成。另一点,所显示或讨论的相互之间的耦合或 直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电 性,机械或其它的形式。以上所述仅是本发明的具体实施方式
,应当指出,对于本技术领域的普通技术人 员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应 视为本发明的保护范围。
权利要求
一种基于ZooKeeper技术的业务节点集群方法,其特征在于,利用ZooKeeper服务器实现业务节点集群,该方法包括获取用户的业务执行请求;从所述请求中读取所述业务的业务信息,并将所述业务信息在所述ZooKeeper服务器的所有业务节点进行备份;从所述所有业务节点中选举一个最优节点,作为主用业务节点为用户提供业务服务,其它业务节点作为备用业务节点,其中,所述备用业务节点的业务数据随主用业务节点业务数据的更新而更新;启动一个监听器监听所述主用业务节点的运行状态;当所述主用业务节点的运行状态为故障时,从所述备用业务节点中选举出一个最优节点作为当前业务节点,为用户提供业务服务。
2.根据权利要求1所述的方法,其特征在于,还包括 启动一个监听器监听所述当前业务节点的运行状态;当所述当前业务节点的运行状态为故障时,从其它备用业务节点中选举出一个最优节 点作为当前业务节点,为用户提供服务。
3.根据权利要求1所述的方法,其特征在于,从所述备用业务节点中选举出一个最优 节点作为当前业务节点,为用户提供业务服务之后,还包括启动一个监听器继续监听所述主用业务节点的运行状态;当所述主用业务节点的运行状态恢复正常时,将所述业务切换至所述主用业务节点。
4.根据权利要求1-3任意一项所述的方法,其特征在于,所述ZooKeeper服务器为集群 服务器。
5.根据权利要求1-3任意一项所述的方法,其特征在于,所述从所有业务节点中选举 一个最优节点作为主用业务节点的依据,以及所述从备用业务节点中选举出一个最优节点 作为当前业务节点的依据为所述节点的业务负荷最小,和/或所述节点的网络延迟最小。
6.一种基于ZooK^per技术的业务节点集群系统,其特征在于,利用ZooK^per服务器 实现业务节点集群,该系统包括业务请求获取单元,用于获取用户的业务执行请求;业务信息备份单元,用于从所述请求中读取所述业务的业务信息,并将所述业务信息 在所述ZooK^per服务器的所有业务节点进行备份;主用业务节点选举单元,用于从所述所有业务节点中选举一个最优节点,作为主用业 务节点为用户提供业务服务,其它业务节点作为备用业务节点,其中,所述备用业务节点的 业务数据随主用业务节点业务数据的更新而更新;第一监听单元,用于启动一个监听器监听所述主用业务节点的运行状态; 第一切换单元,用于当所述主用业务节点的运行状态为故障时,从所述备用业务节点 中选举出一个最优节点作为当前业务节点,为用户提供业务服务。
7.根据权利要求6所述的系统,其特征在于,还包括第二监听单元,用于启动一个监听器监听所述当前业务节点的运行状态; 第二切换单元,用于当所述当前业务节点的运行状态为故障时,从其它备用业务节点 中选举出一个最优节点作为当前业务节点,为用户提供服务。
8.根据权利要求6所述的系统,其特征在于,还包括第三监听单元,用于在所述第一切换单元从所述备用业务节点中选举出一个最优节点 作为当前业务节点,为用户提供业务服务之后,启动一个监听器继续监听所述主用业务节 点的运行状态;第三切换单元,用于当所述主用业务节点的运行状态恢复正常时,将所述业务切换至 所述主用业务节点。
全文摘要
本发明公开了一种基于ZooKeeper技术的业务节点集群方法,利用ZooKeeper服务器实现业务节点集群,包括获取用户的业务执行请求;从所述请求中读取业务的业务信息,并将业务信息在ZooKeeper服务器的所有业务节点进行备份;从所有业务节点中选举一个最优节点,作为主用业务节点为用户提供业务服务,其它业务节点作为备用业务节点,其中,备用业务节点的业务数据随主用业务节点业务数据的更新而更新;启动一个监听器监听主用业务节点的运行状态;当主用业务节点的运行状态为故障时,从备用业务节点中选举出一个最优节点作为当前业务节点,为用户提供业务服务。本发明缩短了业务切换的中断时间,降低了业务终止的可能性。
文档编号H04L12/24GK101977124SQ20101053470
公开日2011年2月16日 申请日期2010年11月5日 优先权日2010年11月5日
发明者刘耀, 李景泽 申请人:山东中创软件工程股份有限公司;山东中创软件商用中间件股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1