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

文档序号:9375396阅读:来源:国知局
节点超过一定时间未收到心跳报文后,判定集群管理节点失效,备用节点升为集群管理节点;当某一集群管理节点收到其它集群节点管理节点心跳报文后,当前节点会与发送心跳报文节点进行IP地址整数值比较,本机数值大时,则本机降为备用节点并停止发送心跳报文,本机数值小时,继续发送心跳报文直至在一定时间内没有收到其它集群管理节点的心跳报文,则该节点作为新的集群管理节点并将该集群管理节点信息通知到集群的每个节点。
[0029]6)任务信息备份冗余:集群管理节点上的任务信息同步更新到备用节点上;集群管理节点周期性的将任务信息同步更新到备用节点,并且当有任务状态发生添加或退出或故障的变化时立刻将任务变化信息同步更新到备用节点。
[0030]7)通过退出接口退出故障冗余管理:所述退出接口提供给上层任务退出时调用,将任务信息从故障冗余任务队列内删除,上层任务进而退出故障冗余管理。
[0031]如图1所示,任务启动后调用注册接口注册成功后,任务为正常状态;该方法会周期性对正常任务进行故障检测,任务正常则等待下一周期检测;如果任务检测为故障,则任务为故障状态;该方法对故障任务进行节点内故障冗余,如果成功,任务返回到正常状态,如果失败,则对故障任务进行节点间进行故障冗余,如果成功,任务返回到正常状态,如果失败,则任务失败。任务运行结束后调用退出接口,任务为退出状态。
[0032]如图2所示,当集群中没有管理节点时,备用管理节点会发送管理节点选举报文进行管理节点的选举。选举成功后,管理节点会周期性的发送心跳报文,则任务运行节点可以获知管理节点地址,备用管理节点可以获知管理节点的状态。任务运行节点会向管理节点周期性的发送任务汇总报文,管理节点对收到的任务信息会向备用管理节点发送集群任务备份报文,以达到在备用管理节点上进行集群任务信息的备份冗余目的。当任务状态发生变化时,例如:从正常变为故障,从正常变为退出。任务运行节点会一直发送任务紧急报文至管理节点,当收到管理节点返回的任务紧急应答报文后停止发送任务紧急报文;对于管理节点,当收到任务紧急报文后,会转发给备用管理节点,当收到备用管理节点返回的任务紧急应答报文后停止转发。
[0033]如图3所示,管理程序启动后,会在4T (1T集群管理节点心跳报文周期)一直接收集群管理节点心跳报文。如果在4T中收到报文,则本机的角色为集群备用管理节点;如果在4T中仍未收到,则本机升为集群管理节点,并在4T中一直发送心跳报文。如果收到其它集群管理节点的心跳报文,则根据一定的算法判定本机是否要降为集群备用管理节点;否则继续在4T的时间内发送心跳报文,直至在4T中收不到其它集群管理节点心跳报文或本机降为集群备用管理节点。
[0034]以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明技术原理的前提下,还可以做出若干改进和变形,这些改进和变形也应视为本发明的保护范围。
【主权项】
1.一种适用于集群系统的分布式任务故障冗余方法,其特征是,具体包括以下步骤: 1)通过对外接口接受故障冗余管理:所述对外接口提供给上层任务调用,将任务信息添加进故障冗余任务队列内,上层任务进而获得故障冗余管理; 2)节点内任务故障冗余:集群中每个节点上的管理程序负责维护本节点上的任务信息,对在本节点上运行的任务进行故障冗余,并负责将本节点上的任务信息同步更新到集群管理节点上; 3)任务信息同步:集群中每个节点将本节点上的任务信息同步更新汇总到集群管理节点上; 4)节点间任务故障冗余:集群管理节点上的管理程序负责维护整个集群内的任务信息,对故障的任务进行节点间故障冗余,将集群管理节点上的任务信息同步更新到备用节点;节点间故障冗余成功后,任务恢复成功信息由集群管理节点向故障节点立刻同步; 5)集群管理节点选举:集群中存在多台集群管理备用节点,当集群管理节点故障时,立即从备用管理节点选举出一台可用的节点对外提供集群管理功能,达到集群管理节点故障冗余; 6)任务信息备份冗余:集群管理节点上的任务信息同步更新到备用节点上; 7)通过退出接口退出故障冗余管理:所述退出接口提供给上层任务退出时调用,将任务信息从故障冗余任务队列内删除,上层任务进而退出故障冗余管理。2.根据权利要求1所述的一种适用于集群系统的分布式任务故障冗余方法,其特征是,所述步骤2)中,对任务信息的维护包括对任务信息的更新和删除操作;通过轮询方式来检测任务是否故障,当任务故障发生时,在节点内对任务恢复,如果恢复次数超过所配置的次数限制,则节点内任务故障冗余失败。3.根据权利要求1所述的一种适用于集群系统的分布式任务故障冗余方法,其特征是,在所述步骤3)中任务信息由每台节点向集群管理节点周期性同步;节点内故障冗余失败后,任务信息由故障节点向集群管理节点立刻同步。4.根据权利要求1所述的一种适用于集群系统的分布式任务故障冗余方法,其特征是,所述步骤4)中对任务信息的维护包括对任务信息的添加、更新和删除操作;当节点内故障冗余失败后,进行节点间故障冗余,集群管理节点首先查看任务是否有指定的启动节点集合,如果有则在指定节点集合中选择一台节点负载最小的节点恢复该任务,如果没有指定节点集合,则在集群中选择一台节点负载最小的节点恢复该任务。5.根据权利要求1所述的一种适用于集群系统的分布式任务故障冗余方法,其特征是,所述步骤5)中集群管理节点周期性的发送心跳组播报文,备用节点周期性的接收该心跳报文;当备用节点超过一定时间未收到心跳报文后,判定集群管理节点失效,备用节点升为集群管理节点;当某一集群管理节点收到其它集群节点管理节点心跳报文后,当前节点会与发送心跳报文节点进行IP地址整数值比较,本机数值大时,则本机降为备用节点并停止发送心跳报文,本机数值小时,继续发送心跳报文直至在一定时间内没有收到其它集群管理节点的心跳报文,则该节点作为新的集群管理节点并将该集群管理节点信息通知到集群的每个节点。6.根据权利要求1所述的一种适用于集群系统的分布式任务故障冗余方法,其特征是,所述步骤6)中集群管理节点周期性的将任务信息同步更新到备用节点,并且当有任务状态发生添加或退出或故障的变化时立刻将任务变化信息同步更新到备用节点。
【专利摘要】本发明公开了一种适用于集群系统的分布式任务故障冗余方法,提供了一种两级任务故障冗余功能,达到提升任务高可靠性、系统高可用性以及用户友好性的目的。本发明所达到的有益效果:1、任务的可靠性提高,分布式任务在集群中运行故障时可以在节点内、节点间及时恢复,提高了集群分布式任务的可靠性;2、系统的可用性提高,管理程序采用了主备冗余技术,且任务故障冗余管理对于用户来说是透明的,用户在使用过程中感觉不到任务故障冗余的存在;3、可移植性好,不需要借助任何操作系统自带软件;4、具有跨平台能力,服务程序可以部署在不同的操作系统服务器上;5、使用简单,用户只需要调用几个接口即可使用故障冗余。
【IPC分类】G06F11/07
【公开号】CN105095008
【申请号】CN201510528462
【发明人】苏大威, 高原, 徐春雷, 任升, 顾文杰, 方华建, 庄卫金, 孟勇亮, 余璟, 江叶峰, 仇晨光, 吴海伟, 孙名扬, 孙世明, 沙一川
【申请人】国电南瑞科技股份有限公司, 国电南瑞南京控制系统有限公司
【公开日】2015年11月25日
【申请日】2015年8月25日
当前第2页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1