一种适用于集群系统的分布式任务故障冗余方法

文档序号:9375396阅读:461来源:国知局
一种适用于集群系统的分布式任务故障冗余方法
【技术领域】
[0001]本发明涉及一种适用于集群系统的分布式任务故障冗余方法,属于计算机系统技术领域。
【背景技术】
[0002]随着云计算等分布式系统的蓬勃发展,分布式系统正被越来越多的用户所使用。而分布式系统由大量的计算机组成集群向用户提供服务,随着计算机数量的增加,系统出现错误的概率大大增加。因此可能导致运行在这些节点上的用户任务出错,更可能给用户带来不可估量的损失。因此,分布式任务故障冗余对于分布式系统的高可靠性、高可用性以及用户友好性等是不可或缺的。

【发明内容】

[0003]为解决现有技术的不足,本发明的目的在于提供一种提升任务高可靠性、系统高可用性以及用户友好性的适用于集群系统的分布式任务故障冗余方法,能够快速、准确的检测到分布式任务的故障情况,并且能够及时在集群其它节点重启该故障任务为主要目的;以对用户使用简单、透明为次要目的。
[0004]为了实现上述目标,本发明采用如下的技术方案:
[0005]—种适用于集群系统的分布式任务故障冗余方法,其特征是,具体包括以下步骤:
[0006]I)通过对外接口接受故障冗余管理:所述对外接口提供给上层任务调用,将任务信息添加进故障冗余任务队列内,上层任务进而获得故障冗余管理;
[0007]2)节点内任务故障冗余:集群中每个节点上的管理程序负责维护本节点上的任务信息,对在本节点上运行的任务进行故障冗余,并负责将本节点上的任务信息同步更新到集群管理节点上;
[0008]3)任务信息同步:集群中每个节点将本节点上的任务信息同步更新汇总到集群管理节点上;
[0009]4)节点间任务故障冗余:集群管理节点上的管理程序负责维护整个集群内的任务信息,对故障的任务进行节点间故障冗余,将集群管理节点上的任务信息同步更新到备用节点;节点间故障冗余成功后,任务恢复成功信息由集群管理节点向故障节点立刻同步;
[0010]5)集群管理节点选举:集群中存在多台集群管理备用节点,当集群管理节点故障时,立即从备用管理节点选举出一台可用的节点对外提供集群管理功能,达到集群管理节点故障冗余;
[0011]6)任务信息备份冗余:集群管理节点上的任务信息同步更新到备用节点上;
[0012]7)通过退出接口退出故障冗余管理:所述退出接口提供给上层任务退出时调用,将任务信息从故障冗余任务队列内删除,上层任务进而退出故障冗余管理。
[0013]前述的一种适用于集群系统的分布式任务故障冗余方法,其特征是,所述步骤2)中,对任务信息的维护包括对任务信息的更新和删除操作;通过轮询方式来检测任务是否故障,当任务故障发生时,在节点内对任务恢复,如果恢复次数超过所配置的次数限制,则节点内任务故障冗余失败。
[0014]前述的一种适用于集群系统的分布式任务故障冗余方法,其特征是,在所述步骤3)中任务信息由每台节点向集群管理节点周期性同步;节点内故障冗余失败后,任务信息由故障节点向集群管理节点立刻同步。
[0015]前述的一种适用于集群系统的分布式任务故障冗余方法,其特征是,所述步骤4)中对任务信息的维护包括对任务信息的添加、更新和删除操作;当节点内故障冗余失败后,进行节点间故障冗余,集群管理节点首先查看任务是否有指定的启动节点集合,如果有则在指定节点集合中选择一台节点负载最小的节点恢复该任务,如果没有指定节点集合,则在集群中选择一台节点负载最小的节点恢复该任务。
[0016]前述的一种适用于集群系统的分布式任务故障冗余方法,其特征是,所述步骤5)中集群管理节点周期性的发送心跳组播报文,备用节点周期性的接收该心跳报文;当备用节点超过一定时间未收到心跳报文后,判定集群管理节点失效,备用节点升为集群管理节点;当某一集群管理节点收到其它集群节点管理节点心跳报文后,当前节点会与发送心跳报文节点进行IP地址整数值比较,本机数值大时,则本机降为备用节点并停止发送心跳报文,本机数值小时,继续发送心跳报文直至在一定时间内没有收到其它集群管理节点的心跳报文,则该节点作为新的集群管理节点并将该集群管理节点信息通知到集群的每个节点。
[0017]前述的一种适用于集群系统的分布式任务故障冗余方法,其特征是,所述步骤6)中集群管理节点周期性的将任务信息同步更新到备用节点,并且当有任务状态发生添加或退出或故障的变化时立刻将任务变化信息同步更新到备用节点。
[0018]本发明所达到的有益效果:1、任务的可靠性提高,分布式任务在集群中运行故障时可以在节点内、节点间及时恢复,提高了集群分布式任务的可靠性;2、系统的可用性提高,管理程序采用了主备冗余技术,且任务故障冗余管理对于用户来说是透明的,用户在使用过程中感觉不到任务故障冗余的存在;3、可移植性好,不需要借助任何操作系统自带软件;4、具有跨平台能力,服务程序可以部署在不同的操作系统服务器上;5、使用简单,用户只需要调用几个接口即可使用故障冗余;6、部署简单,只需要部署管理程序、动态库即可运行。
【附图说明】
[0019]图1是本发明中任务状态转换图;
[0020]图2是本发明中节点间通信示意图;
[0021]图3是本发明中集群管理节点选举算法流程图;
【具体实施方式】
[0022]下面结合附图对本发明作进一步描述。以下实施例仅用于更加清楚地说明本发明的技术方案,而不能以此来限制本发明的保护范围。
[0023]本发明涉及一种适用于集群系统的分布式任务故障冗余方法,包括以下步骤:
[0024]I)通过对外接口接受故障冗余管理:对外接口提供给上层任务调用,将任务信息添加进故障冗余任务队列内,上层任务进而获得故障冗余管理。
[0025]2)节点内任务故障冗余:集群中每个节点上的管理程序负责维护本节点上的任务信息,对在本节点上运行的任务进行故障冗余,并负责将本节点上的任务信息同步更新到集群管理节点上;对任务信息的维护包括对任务信息的更新和删除操作;通过轮询方式来检测任务是否故障,当任务故障发生时,在节点内对任务恢复,如果恢复次数超过所配置的次数限制,则节点内任务故障冗余失败。
[0026]3)任务信息同步:集群中每个节点将本节点上的任务信息同步更新汇总到集群管理节点上;任务信息由每台节点向集群管理节点周期性同步;节点内故障冗余失败后,任务信息由故障节点向集群管理节点立刻同步。
[0027]4)节点间任务故障冗余:集群管理节点上的管理程序负责维护整个集群内的任务信息,对故障的任务进行节点间故障冗余,将集群管理节点上的任务信息同步更新到备用节点;节点间故障冗余成功后,任务恢复成功信息由集群管理节点向故障节点立刻同步;对任务信息的维护包括对任务信息的添加、更新和删除操作;当节点内故障冗余失败后,进行节点间故障冗余,集群管理节点首先查看任务是否有指定的启动节点集合,如果有则在指定节点集合中选择一台节点负载最小的节点恢复该任务,如果没有指定节点集合,则在集群中选择一台节点负载最小的节点恢复该任务。
[0028]5)集群管理节点选举:集群中存在多台集群管理备用节点,当集群管理节点故障时,立即从备用管理节点选举出一台可用的节点对外提供集群管理功能,达到集群管理节点故障冗余;集群管理节点周期性的发送心跳组播报文,备用节点周期性的接收该心跳报文;当备用
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1