CN104077181A - 一种适用于分布式任务管理系统的状态一致性维护方法 - Google Patents

一种适用于分布式任务管理系统的状态一致性维护方法 Download PDF

Info

Publication number
CN104077181A
CN104077181A CN201410292893.1A CN201410292893A CN104077181A CN 104077181 A CN104077181 A CN 104077181A CN 201410292893 A CN201410292893 A CN 201410292893A CN 104077181 A CN104077181 A CN 104077181A
Authority
CN
China
Prior art keywords
node
management system
state
task management
distributed task
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN201410292893.1A
Other languages
English (en)
Other versions
CN104077181B (zh
Inventor
高原
顾文杰
任升
卢建刚
沙一川
方华建
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Nari Technology Co Ltd
Electric Power Dispatch Control Center of Guangdong Power Grid Co Ltd
Original Assignee
Nari Technology Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Nari Technology Co Ltd filed Critical Nari Technology Co Ltd
Priority to CN201410292893.1A priority Critical patent/CN104077181B/zh
Publication of CN104077181A publication Critical patent/CN104077181A/zh
Application granted granted Critical
Publication of CN104077181B publication Critical patent/CN104077181B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Landscapes

  • Multi Processors (AREA)

Abstract

本发明公开了一种适用于分布式任务管理系统的状态一致性维护方法,包括以下步骤,1)分布式任务管理系统节点状态的维护;2)分布式任务管理系统的任务初始化;3)分布式任务管理系统的任务状态改变;4)节点故障和恢复的处理。本发明的适用于分布式任务管理系统的状态一致性维护方法,自动化程度高、可靠性高、鲁棒性高、通信效率高、占用带宽小、可移植性好,任务部署简单,具有良好的应用前景。

Description

一种适用于分布式任务管理系统的状态一致性维护方法
技术领域
本发明涉及一种适用于分布式任务管理系统的状态一致性维护方法,属于分布式处理技术领域。
背景技术
在分布式处理系统中,每个节点处理全局任务的子集,但一般需要协同工作和进行状态同步,在所有节点处理完成后汇总结果,再进行下一轮处理,系统运行过程中随时可能改变任务的运行状态,如需要在某几个节点增加一些任务、需要进行任务负载均衡的调整或者某个节点的任务发生故障等,系统中每个节点都必须准确及时的知道其他节点的存在和运行了哪些子任务,否则可能会出现任务遗漏、任务重复、任务迟延等情况,从而如何保证分布式任务系统在全局范围内的运行状态一致性是保证分布式任务系统正常运行的关键点。
现有的分布式管理系统解决上述问题一般有如下三种方法,但分别存在不同的缺点,具体如下,
(1)人工配置和干预法,分布式管理系统初始是由人工配置好节点上运行的任务,当节点故障或恢复时再人工调整任务部署的情况,或者是正常运行时人工的调整任务部署,其的缺陷是不够灵活,系统的维护成本高。
(2)全局协调器法,分布式管理系统中有一个全局管理节点,其上运行管理程序对系统的运行状态进行监视,系统的状态变换都有此节点发出指令,这种方法可以保证系统在同一时刻只执行一条指令,其的缺陷是全局协调器成为系统的单点故障瓶颈。
(3)定期同步法,分布式管理系统的每个节点定期向系统中广播自己的状态,此方法缺陷是通信量大,且各个节点只能知晓其他节点的运行状态,但是对故障的处理还是各自执行,很容易在广播报文丢失或延迟的情况下产生不一致性。
总之,上述的状态一致性管理方法在有可能出现的节点故障和网络通信故障条件下都有不完善的地方。
发明内容
本发明的目的是克服现有的分布式任务管理系统的状态一致性维护方法,不够灵活、维护成本高、同一时刻只执行一条指令、通信量大时广播报文容易丢失或延迟的问题。本发明的适用于分布式任务管理系统的状态一致性维护方法,自动化程度高、可靠性高、通信效率高、占用带宽小、可移植性好,具有良好的应用前景。
为了达到上述目的,本发明所采用的技术方案是:
一种适用于分布式任务管理系统的状态一致性维护方法,其特征在于:包括以下步骤,
步骤(1),分布式任务管理系统统节点状态的维护,分布式任务管理系统的所有节点定期广播发送心跳报文,通知其他节点本机的生存状态;
步骤(2),分布式任务管理系统的任务初始化,在分布式任务管理系统的每个节点上运行任务管理程序,在任意一个节点上输入所有的待部署任务,任务管理程序根据活跃节点数量决定部署情况,并与分布式任务管理系统中所有节点进行通信,得到确认回复后,分布式任务管理系统到达一致的初始化状态;
步骤(3),分布式任务管理系统的任务状态改变,当分布式任务管理系统的任意一个节点上的任务运行状态发生改变时,任务管理程序都会与分布式任务管理系统中所有节点进行通信,得到确认回复后,每个节点同时实施改动,分布式任务管理系统进入另一个一致的状态;
步骤(4),节点故障和恢复的处理,当分布式任务管理系统中的一个节点故障退出或者恢复加入后,分布式任务管理系统的节点集合发生改变,分布式任务管理系统保持维持一致的状态。
前述的一种适用于分布式任务管理系统的状态一致性维护方法,其特征在于:步骤(1)所述分布式任务管理系统的所有节点定期广播发送的心跳报文包括节点名、节点编号、本机状态编号,当3秒的时间间隔后,分布式任务管理系统接收不到某个节点的心跳,判断该节点为故障,能正常收到心跳的节点判断为活跃节点,节点编号为节点的优先级,编号越小的优先级越大。
前述的一种适用于分布式任务管理系统的状态一致性维护方法,其特征在于:步骤(2)所述任务管理程序根据活跃节点数量决定部署情况的过程为,
(1)任务管理程序查看所有活跃的节点;
(2)将任务负载均衡的部署到每个活跃的节点上,并将部署计划通知到每个活跃节点。
前述的一种适用于分布式任务管理系统的状态一致性维护方法,其特征在于:步骤(3)所述任务管理程序都会与分布式任务管理系统中所有节点进行通信,将需要进行的改变发出给所有节点,得到半数以上节点确认回复后,每个节点同时实施改动,分布式任务管理系统进入另一个一致的状态。
前述的一种适用于分布式任务管理系统的状态一致性维护方法,其特征在于:步骤(3)分布式任务管理系统的每一次状态改变,都会在各节点心跳报文的本机状态编号的当前状态编号加1,各节点的初始化的本机状态编号为0。
前述的一种适用于分布式任务管理系统的状态一致性维护方法,其特征在于:步骤(3)需要状态改变的节点将状态改变作为提案请求发出,并进行提案接收,发出提案请求时,当前状态编号加1,若接收的提案的状态编号大于本机的状态编号,则给出确认回复,否则,给出否定回复反对接收到的提案,需要状态改变的节点接收到半数以上的活跃节点确认回复后,表示此提案请求被批准,则该节点发送提交报文让分布式任务管理系统所有活跃节点改变任务状态,所有活跃节点更新本机状态编号,并且回复完成给发送提交报文的节点。
前述的一种适用于分布式任务管理系统的状态一致性维护方法,其特征在于:若接收到多个节点的提案请求,且每个提案请求的本机状态编号一致,则只确认回复节点编号最小的提案请求。
前述的一种适用于分布式任务管理系统的状态一致性维护方法,其特征在于:步骤(4)分布式任务管理系统出现一个故障节点,则总节点数减一,提案获得半数以上通过的数量阈值相应降低;故障恢复的节点首先向分布式任务管理系统中发出设置本机当前任务状态的提案请求,本机的任务由断网改变为在线的状态改变提案,其他节点收到后发现编号过旧,则会发出否定回复,并附加本机的任务状态信息,故障恢复的节点接收到否定回复,并选择最大编号的节点进行学习,更新本地任务状态后重新加入分布式任务管理系统运行,总的节点数加一,提案获得半数以上通过的数量阈值相应增加。
前述的一种适用于分布式任务管理系统的状态一致性维护方法,其特征在于:所述接收者若接收的提案的状态编号比本地状态编号小或者等于本地编号,则说明提案发送者的状态比系统中全局的状态要旧,存在状态变化的提交报文丢失过,此时状态旧的节点需要从状态新的节点学习状态信息,提案接收者在给出否定回复时,顺带捎上本节点最新的任务状态信息。
前述的一种适用于分布式任务管理系统的状态一致性维护方法,其特征在于:所述接收者若在接收到比本机状态编号大提案的状态编号后,又接收到一个编号更大的提案的状态编号,接收者给此更大编号的提案者发送确认回复时要捎带本节点需要先学习到最新状态的请求,发送者在给此接收者发出提交报文时捎带上一轮的状态,接收者学习完上一轮状态后,在本地提交状态改变。
本发明的有益效果是:本发明是适用于分布式任务管理系统的状态一致性维护方法,具有以下优点,1、不受单节点故障的影响,完全分布式运行;2、自动化程度高,除部署任务外整个系统运行过程不需要人工干预;3、可靠性高,在各种运行条件下均能在有限步骤后收敛,使分布式任务管理系统达到一致状态;4、占用带宽小,采用发出改变信息,避免了同步时传送所有状态数据;5、鲁棒性高,在各种故障条件下,分布式任务管理系统均能通过一致性算法恢复正常运行;6、可移植性好,所有功能完全是有计算机程序实现,可运行在各种UNIX和Linux、Windows操作系统上,不需要借助任何操作系统自带的软件;7、部署简单,只需部署一个服务程序、一个动态库、一个配置文件即可运行,综上所述,自动化程度高、可靠性高、通信效率高、占用带宽小、可移植性好,具有良好的应用前景。
附图说明
图1是本发明的适用于分布式任务管理系统的状态一致性维护方法的流程图。
图2是发明的分布式任务管理系统的任务初始化的流程图。
图3是本发明的分布式任务管理系统的任务状态改变的第一示意图。
图4是本发明的分布式任务管理系统的任务状态改变的第二示意图。
图5是本发明的分布式任务管理系统的任务状态改变的第三示意图。
图6是本发明的分布式任务管理系统的任务状态改变的第四示意图。
图7是本发明的接收节点一致性处理的流程图。
图8是本发明的发送节点一致性处理的流程图。
具体实施方式
下面将结合说明书附图,对本发明作进一步说明。以下实施例仅用于更加清楚地说明本发明的技术方案,而不能以此来限制本发明的保护范围。
本发明的适用于分布式任务管理系统的状态一致性维护方法,不受单节点故障的影响,自动化程度高、可靠性高、占用带宽小、鲁棒性高,可移植性好,所有功能完全是由计算机程序实现,可运行在各种UNIX和Linux、Windows操作系统上,不需要借助任何操作系统自带的软件,部署简单,只需部署一个服务程序、一个动态库、一个配置文件即可运行,如图1所示,具体包括以下步骤,
步骤(1),分布式任务管理系统节点状态的维护,分布式任务管理系统的所有节点定期广播发送心跳报文,通知其他节点本机的生存状态,心跳报文包括节点名、节点编号、本机状态编号,当3秒的时间间隔后,分布式任务管理系统接收不到某个节点的心跳,判断该节点为故障,能正常收到心跳的节点判断为活跃节点,节点编号为节点的优先级,编号越小的优先级越大。
步骤(2),分布式任务管理系统的任务初始化,如图2所示,在分布式任务管理系统的每个节点上运行任务管理程序,在任意一个节点上输入所有的待部署任务,任务管理程序根据活跃节点数量决定部署情况,并与分布式任务管理系统中所有节点进行通信,得到确认回复后,分布式任务管理系统到达一致的初始化状态,任务管理程序根据活跃节点数量决定部署情况的过程为:
(1)任务管理程序查看所有活跃的节点;
(2)将任务负载均衡的部署到每个活跃的节点上,并将部署计划通知到每个活跃节点;
步骤(3),分布式任务管理系统的任务状态改变,当分布式任务管理系统的任意一个节点上的任务运行状态发生改变时,任务管理程序都会与分布式任务管理系统中所有节点进行通信,得到确认回复后,每个节点同时实施改动,分布式任务管理系统进入另一个一致的状态;
所述任务管理程序都会与分布式任务管理系统中所有节点进行通信,将需要进行的改变发出给所有节点,得到半数以上节点确认回复后,每个节点同时实施改动,分布式任务管理系统进入另一个一致的状态,分布式任务管理系统的每一次状态改变,都会在各节点心跳报文的本机状态编号的当前状态编号加1,各节点的初始化的本机状态编号为0,需要状态改变的节点将状态改变作为提案请求发出,并进行提案接收,发出提案请求时,当前状态编号加1,若接收的提案的状态编号大于本机的状态编号,则给出确认回复,否则,给出否定回复反对接收到的提案,需要状态改变的节点接收到半数以上的活跃节点确认回复后,表示此提案请求被批准,则该节点发送提交报文让分布式任务管理系统所有活跃节点改变任务状态,所有活跃节点更新本机状态编号,并且回复完成给发送提交报文的节点;
步骤(4),节点故障和恢复的处理,当分布式任务管理系统中的一个节点故障退出或者恢复加入后,分布式任务管理系统的节点集合发生改变,分布式任务管理系统保持维持一致的状态,分布式任务管理系统出现一个故障节点,则总节点数减一,提案获得半数以上通过的数量阈值相应降低;故障恢复的节点首先向分布式任务管理系统中发出设置本机当前任务状态的提案请求,本机的任务由断网改变为在线的状态改变提案,其他节点收到后发现编号过旧,则会发出否定回复,并附加本机的任务状态信息,故障恢复的节点接收到否定回复,并选择最大编号的节点进行学习,更新本地任务状态后重新加入分布式任务管理系统运行,总的节点数加一,提案获得半数以上通过的数量阈值相应增加。
分布式任务管理系统中每个节点都赋予一个唯一的节点编号,提案请求、提案报文中包含节点编号,可有效解决每一轮选举中可能产生的死锁问题,如果接收到多个节点编号的提案请求,且每个提案请求的本机状态编号一致,则只回复节点编号最小的提案,表示支持,不会发生每个提案各自获得一部分节点的支持而产生死锁。对其后到达的节点编号较大的提案给出否定回复,但是不捎带本地状态信息,发送者不需要学习,此时发送节点可以等当前提案形成决议后再用新编号加1提出新的提案请求。
接收者若接收的提案的状态编号比本地状态编号小或者等于本地编号,则说明提案发送者的状态比系统中全局的状态要旧,存在状态变化的提交报文丢失过,此时状态旧的节点需要从状态新的节点学习状态信息,提案接收者在给出否定回复时,顺带捎上本节点最新的任务状态信息。
接收者若在接收到比本机状态编号大提案的状态编号后,又接收到一个编号更大的提案的状态编号,接收者给此更大编号的提案者发送确认回复时要捎带本节点需要先学习到最新状态的请求,发送者在给此接收者发出提交报文时捎带上一轮的状态,接收者学习完上一轮状态后,在本地提交状态改变。
根据图3-6,介绍本发明的步骤(3)分布式任务管理系统的任务状态改变的具体流程,
图3中所示的4个分布式任务管理系统的节点上,各自运行了一些任务,它们的本机状态编号都为N,在某一时刻1号节点和4号节点都判断出自身的负载比较轻,同时都想增加一个任务,为了避免增加的是同一个任务,假设1号节点和4号节点同时提出提案请求,由于发出提案的时间和消息传递速度的不确定性,这个过程中还存在以下情况,
(1)1号节点提案请求先于4号节点的到达2、3号节点,则这个提案请求被2号节点和3号节点接收并给出确认回复,这样1号节点的提案肯定获得半数以上确认,本机必然同意1号节点的提案请求,而且1号节点的节点编号是最小的,当1号节点的提案到达4号节点后也会让4号节点放弃本机的提案请求并确认回复1号节点的提案请求,随后1号节点发出提交报文,2、3、4号节点最后会回复完成,这样1-4号节点的本机状态编号都为N+1,但是,4号节点发出的提案请求到达2、3号节点时,提案请求的本机状态编号还为N,且4号节点的节点编号大,所以该提案请求会被否决。
(2)4号节点的提案请求先于1号节点的到达2、3号节点,则2、3号节点对4号节点给出确认回复,但是4号节点的提案请求晚于1号节点产生提案请求的时刻到达1号节点,则1号节点的提案请求还是会发出并到达2、3号节点,因为节点编号小也会收到2号和3号节点的确认回复,这样1号节点的提案就得到了多数票,最终会得以形成决议,但是4号节点的报文到达1号节点的时刻因为1号节点已经有自身的提案,所以不会确认回复4号节点的,在4号机的角度观察,它会先收到2、3号机的确认报文形成多数票,但是紧接着会收到1号机的提案,由于节点编号的优先级4号节点低,随即放弃自己的提案请求;
(3)与(1)的前期步骤一样,但是最终1号节点发往4号节点的提案请求报文丢了或者延迟到很晚到达,这种情况在广域网中有可能发生,这样4号及节点不会放弃自己的提案请求,则发出提交报文,但是此提交报文会被1、2、3号机拒绝,因为它们都收到了一个优先级更高的1号节点的提案报文;
(4)4号节点的提案请求先于1号节点的到达2、3号节点,并且也先于1号节点产自己生提案请求的时刻到达1号节点,这样1、2、3号节点都会给出确认回复,最终会形成决议,1号节点就暂时不再产生自己的提案请求,一直等到4号节点的提案实施完成后,用新的提案编号再次发出自己的提案请求。
图4所示,4号节点是一个断网恢复的节点,它的任务状态比较旧,假设本机状态编号为N-1,其他正常节点的设本机状态编号为N,当4号节点以N编号发出一个提案请求时,其他节点会发现这个提案编号(发送节点的本机状态编号)等于本机状态编号(其他节点的),然后发出否定回复给4号节点并捎带了编号为N的状态信息,4号节点这个提案就被否决了,同时开始学习最新的状态。
图5所示,4、5、6号节点均是断网恢复的节点,6号节点的状态最旧,此时若4号节点以编号N发出一个提案,则会被6号节点确认,随后3号节点的提案N+1也会被6号节点确认,至此6号节点会停止接受所有编号小于N+1的提案,所以5号节点的最后的提案N会被给予否定回复。
图6所示,四个节点的状态的编号均是N,在同一时刻1、2、3号节点均提出一个提案请求,因为节点1的节点编号最小,则如果4号节点先收到1号节点的提案请求则会否定2号和3号节点的提案请求,如果先收到2号节点的提案请求,则会确认2号节点和1号节点的提案请求,否定3号节点的提案请求,这时即使2号节点能发出提交报文(如1号节点的提案请求未能到达2号节点),也会被4号节点拒绝,2号节点只能够在1号节点的提案N+1形成决议实施完成后,使用本机状态编号N+2再次发出提案请求。
如图7所示,本发明的接收节点一致性处理流程图,首先接收者处于准备状态,此时如果收到一个本机状态编号(提案编号)为N大于本机状态编号的提案请求,则发出确认回复,并进入等待状态,如果收到的提案编号小于或者等于本地状态编号,则发出否定回复并捎带本地状态提供给对方学习,然后重新进入准备状态;
处于等待状态时如果超时未收到刚刚回应的提案N的提交报文,此时则需要与其他接收者联系,如果发现另一个接收者是提交状态,则本节点也提交。如果没有一个其他接收者是提交状态,说明发送者在发出提交之前就崩溃了,则发出“拒绝”报文,返回初始的准备状态。如果收到另一个编号更大的提案请求N’,则发出确认回复并要求学习到这个新提案发送者的当前状态,然后再次回到等待状态,此时如果收到编号小于刚刚回应的提案请求,将发出否定回复,如果收到的不是刚刚回应的提案的提交报文,则都发出拒绝回,即此时仅能接受编号更大的请求报文和编号等于刚刚回应的提案的提交报文,此时提案N’发送者在发出提交报文时捎带本地最新的状态,接收者收到报文后先学习后提交修改,进入提交状态,如果中途不存在N’的插入,则提案N的发送者仅发出提交报文即可,接收者最后发出完成报文,一个提案的实施过程完毕。
如图8所示,本发明的发送节点一致性处理流程图,首先提案发送节点发出本地状态编号N加1的提案请求,如果收到否定回复则说明本地状态较旧,进行学习后调整本机状态编号,然后重新进入准备状态,如果超时未收到半数以上节点的回复也重新进入准备状态,如果收到半数以上节点对提案N+1的确认回复,则发出提交报文(如果有节点需要学习则捎带本地信息),进入提交状态,如果此时收到一个提案N+1的拒绝提交报文,则发送回滚报文到所有节点,然后重新进入准备状态,否则如果收到一个完成报文则提交完成能进入实施完成状态。
以上显示和描述了本发明的基本原理、主要特征及优点。本行业的技术人员应该了解,本发明不受上述实施例的限制,上述实施例和说明书中描述的只是说明本发明的原理,在不脱离本发明精神和范围的前提下,本发明还会有各种变化和改进,这些变化和改进都落入要求保护的本发明范围内。本发明要求保护范围由所附的权利要求书及其等效物界定。

Claims (10)

1.一种适用于分布式任务管理系统的状态一致性维护方法,其特征在于:包括以下步骤,
步骤(1),分布式任务管理系统节点状态的维护,分布式任务管理系统的所有节点定期广播发送心跳报文,通知其他节点本机的生存状态;
步骤(2),分布式任务管理系统的任务初始化,在分布式任务管理系统的每个节点上运行任务管理程序,在任意一个节点上输入所有的待部署任务,任务管理程序根据活跃节点数量决定部署情况,并与分布式任务管理系统中所有节点进行通信,得到确认回复后,分布式任务管理系统到达一致的初始化状态;
步骤(3),分布式任务管理系统的任务状态改变,当分布式任务管理系统的任意一个节点上的任务运行状态发生改变时,任务管理程序都会与分布式任务管理系统中所有节点进行通信,得到确认回复后,每个节点同时实施改动,分布式任务管理系统进入另一个一致的状态;
步骤(4),节点故障和恢复的处理,当分布式任务管理系统中的一个节点故障退出或者恢复加入后,分布式任务管理系统的节点集合发生改变,分布式任务管理系统保持维持一致的状态。
2.根据权利要求1所述的一种适用于分布式任务管理系统的状态一致性维护方法,其特征在于:步骤(1)所述分布式任务管理系统的所有节点定期广播发送的心跳报文包括节点名、节点编号、本机状态编号,当3秒的时间间隔后,分布式任务管理系统接收不到某个节点的心跳,判断该节点为故障,能正常收到心跳的节点判断为活跃节点,节点编号为节点的优先级,编号越小的优先级越大。
3.根据权利要求1所述的一种适用于分布式任务管理系统的状态一致性维护方法,其特征在于:步骤(2)所述任务管理程序根据活跃节点数量决定部署情况的过程为,
(1)任务管理程序查看所有活跃的节点;
(2)将任务负载均衡的部署到每个活跃的节点上,并将部署计划通知到每个活跃节点。
4.根据权利要求1所述的一种适用于分布式任务管理系统的状态一致性维护方法,其特征在于:步骤(3)所述任务管理程序都会与分布式任务管理系统中所有节点进行通信,将需要进行的改变发出给所有节点,得到半数以上节点确认回复后,每个节点同时实施改动,分布式任务管理系统进入另一个一致的状态。
5.根据权利要求1或2所述的一种适用于分布式任务管理系统的状态一致性维护方法,其特征在于:步骤(3)分布式任务管理系统的每一次状态改变,都会在各节点心跳报文的本机状态编号的当前状态编号加1,各节点的初始化的本机状态编号为0。
6.根据权利要求1所述的一种适用于分布式任务管理系统的状态一致性维护方法,其特征在于:步骤(3)需要状态改变的节点将状态改变作为提案请求发出,并进行提案接收,发出提案请求时,当前状态编号加1,若接收的提案的状态编号大于本机的状态编号,则给出确认回复,否则,给出否定回复反对接收到的提案,需要状态改变的节点接收到半数以上的活跃节点确认回复后,表示此提案请求被批准,则该节点发送提交报文,让分布式任务管理系统所有活跃节点改变任务状态,所有活跃节点更新本机状态编号,并且回复完成给发送提交报文的节点。
7.根据权利要求1或6所述的一种适用于分布式任务管理系统的状态一致性维护方法,其特征在于:若接收到多个节点的提案请求,且每个提案请求的本机状态编号一致,则只确认回复节点编号最小的提案请求。
8.根据权利要求1所述的一种适用于分布式任务管理系统的状态一致性维护方法,其特征在于:步骤(4)分布式任务管理系统出现一个故障节点,则总节点数减一,提案获得半数以上通过的数量阈值相应降低;故障恢复的节点首先向分布式任务管理系统中发出设置本机当前任务状态的提案请求,本机的任务由断网改变为在线的状态改变提案,其他节点收到后发现编号过旧,则会发出否定回复,并附加本机的任务状态信息,故障恢复的节点接收到否定回复,并选择最大编号的节点进行学习,更新本地任务状态后重新加入分布式任务管理系统运行,总的节点数加一,提案获得半数以上通过的数量阈值相应增加。
9.根据权利要求6所述的一种适用于分布式任务管理系统的状态一致性维护方法,其特征在于:所述接收者若接收的提案的状态编号比本地状态编号小或者等于本地编号,则说明提案发送者的状态比系统中全局的状态要旧,存在状态变化的提交报文丢失过,此时状态旧的节点需要从状态新的节点学习状态信息,提案接收者在给出否定回复时,顺带捎上本节点最新的任务状态信息。
10.根据权利要求6所述的一种适用于分布式任务管理系统的状态一致性维护方法,其特征在于:所述接收者若在接收到比本机状态编号大提案的状态编号后,又接收到一个编号更大的提案的状态编号,接收者给此更大编号的提案者发送确认回复时要捎带本节点需要先学习到最新状态的请求,发送者在给此接收者发出提交报文时捎带上一轮的状态,接收者学习完上一轮状态后,在本地提交状态改变。
CN201410292893.1A 2014-06-26 2014-06-26 一种适用于分布式任务管理系统的状态一致性维护方法 Active CN104077181B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201410292893.1A CN104077181B (zh) 2014-06-26 2014-06-26 一种适用于分布式任务管理系统的状态一致性维护方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201410292893.1A CN104077181B (zh) 2014-06-26 2014-06-26 一种适用于分布式任务管理系统的状态一致性维护方法

Publications (2)

Publication Number Publication Date
CN104077181A true CN104077181A (zh) 2014-10-01
CN104077181B CN104077181B (zh) 2017-08-29

Family

ID=51598451

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201410292893.1A Active CN104077181B (zh) 2014-06-26 2014-06-26 一种适用于分布式任务管理系统的状态一致性维护方法

Country Status (1)

Country Link
CN (1) CN104077181B (zh)

Cited By (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104301423A (zh) * 2014-10-24 2015-01-21 北京奇虎科技有限公司 一种发送心跳报文的方法、装置及系统
CN104933132A (zh) * 2015-06-12 2015-09-23 广州巨杉软件开发有限公司 基于操作序列号的分布式数据库有权重选举方法
CN105139130A (zh) * 2015-08-27 2015-12-09 国电南瑞科技股份有限公司 一种适用于电力系统分布式任务的管理方法
CN105306583A (zh) * 2015-11-11 2016-02-03 广州新科佳都科技有限公司 基于原子广播技术的分布式权限管理方法及系统
CN106775974A (zh) * 2016-12-07 2017-05-31 国云科技股份有限公司 一种分布式优先级排队锁的实现方法
CN107181608A (zh) * 2016-03-11 2017-09-19 阿里巴巴集团控股有限公司 一种恢复服务及性能提升的方法及运维管理系统
CN107196786A (zh) * 2017-04-06 2017-09-22 阿里巴巴集团控股有限公司 一种保证数据一致性和可用性的方法及装置
CN107730066A (zh) * 2017-08-25 2018-02-23 北京元心科技有限公司 巡检系统任务协同处理方法及装置
CN109472546A (zh) * 2018-10-12 2019-03-15 深圳壹账通智能科技有限公司 一种分布式事务处理的智能监控方法及服务器
CN110798339A (zh) * 2019-10-09 2020-02-14 国电南瑞科技股份有限公司 一种基于分布式任务调度框架的任务容灾方法
US11966415B2 (en) 2019-09-18 2024-04-23 Microsoft Technology Licensing, Llc Multimaster database for identity and electronic mail in DDIL environments

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1812338A (zh) * 2005-01-28 2006-08-02 华为技术有限公司 主从节点之间状态同步的方法
US20100319005A1 (en) * 2009-06-10 2010-12-16 The Boeing Company Consensus Based Distributed Task Execution
US20120079234A1 (en) * 2010-09-28 2012-03-29 Microsoft Corporation Performing computations in a distributed infrastructure

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1812338A (zh) * 2005-01-28 2006-08-02 华为技术有限公司 主从节点之间状态同步的方法
US20100319005A1 (en) * 2009-06-10 2010-12-16 The Boeing Company Consensus Based Distributed Task Execution
US20120079234A1 (en) * 2010-09-28 2012-03-29 Microsoft Corporation Performing computations in a distributed infrastructure

Cited By (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104301423A (zh) * 2014-10-24 2015-01-21 北京奇虎科技有限公司 一种发送心跳报文的方法、装置及系统
CN104301423B (zh) * 2014-10-24 2018-11-06 北京奇安信科技有限公司 一种发送心跳报文的方法、装置及系统
CN104933132B (zh) * 2015-06-12 2019-11-19 深圳巨杉数据库软件有限公司 基于操作序列号的分布式数据库有权重选举方法
CN104933132A (zh) * 2015-06-12 2015-09-23 广州巨杉软件开发有限公司 基于操作序列号的分布式数据库有权重选举方法
CN105139130A (zh) * 2015-08-27 2015-12-09 国电南瑞科技股份有限公司 一种适用于电力系统分布式任务的管理方法
CN105306583A (zh) * 2015-11-11 2016-02-03 广州新科佳都科技有限公司 基于原子广播技术的分布式权限管理方法及系统
CN107181608A (zh) * 2016-03-11 2017-09-19 阿里巴巴集团控股有限公司 一种恢复服务及性能提升的方法及运维管理系统
CN107181608B (zh) * 2016-03-11 2020-06-09 阿里巴巴集团控股有限公司 一种恢复服务及性能提升的方法及运维管理系统
CN106775974A (zh) * 2016-12-07 2017-05-31 国云科技股份有限公司 一种分布式优先级排队锁的实现方法
CN106775974B (zh) * 2016-12-07 2019-12-10 国云科技股份有限公司 一种分布式优先级排队锁的实现方法
CN107196786A (zh) * 2017-04-06 2017-09-22 阿里巴巴集团控股有限公司 一种保证数据一致性和可用性的方法及装置
CN107730066A (zh) * 2017-08-25 2018-02-23 北京元心科技有限公司 巡检系统任务协同处理方法及装置
CN109472546A (zh) * 2018-10-12 2019-03-15 深圳壹账通智能科技有限公司 一种分布式事务处理的智能监控方法及服务器
US11966415B2 (en) 2019-09-18 2024-04-23 Microsoft Technology Licensing, Llc Multimaster database for identity and electronic mail in DDIL environments
CN110798339A (zh) * 2019-10-09 2020-02-14 国电南瑞科技股份有限公司 一种基于分布式任务调度框架的任务容灾方法

Also Published As

Publication number Publication date
CN104077181B (zh) 2017-08-29

Similar Documents

Publication Publication Date Title
CN104077181A (zh) 一种适用于分布式任务管理系统的状态一致性维护方法
CN103716182B (zh) 一种面向实时云平台的故障检测与容错方法及系统
US9325757B2 (en) Methods and systems for fault-tolerant distributed stream processing
Melliar-Smith et al. Broadcast protocols for distributed systems
CN109597723B (zh) 用于地铁综合监控系统的双机热备冗余实现系统及方法
CN110233905A (zh) 节点设备运行方法、节点设备及存储介质
CN102769626B (zh) 一种会话信息同步方法、装置以及系统
CN102164056B (zh) 堆叠链路聚合故障检测方法和堆叠设备
CN104320459A (zh) 一种节点管理方法和装置
CN107124305B (zh) 节点设备运行方法及节点设备
CN105630589A (zh) 分布式流程调度系统及流程调度、执行方法
CN109769001A (zh) 一种物联网数据传输方法及系统
CN105095008A (zh) 一种适用于集群系统的分布式任务故障冗余方法
CN109669821B (zh) 消息中间件的集群部分故障恢复方法、服务器及存储介质
WO2016177231A1 (zh) 基于双主控的主备倒换方法及装置
CN110677282B (zh) 一种分布式系统的热备份方法及分布式系统
CN103942324A (zh) 数据实时同步系统及方法
CN108390919B (zh) 一种用于高可靠双机热备的消息同步系统及方法
CN112738240A (zh) 一种大规模分布式网络数据传输和协同的方法
CN110213359A (zh) 一种基于d2d的车联网组网数据推送系统和方法
CN106210053A (zh) 一种电力系统广域消息管理方法
EP2945314A1 (en) Distributed flow processing system fault tolerance method, nodes and system
CN114598593B (zh) 消息处理方法、系统、计算设备及计算机存储介质
CN112351106A (zh) 一种含事件网格的服务网格平台及其通信方法
CN105141687B (zh) 一种生产消息的方法

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
ASS Succession or assignment of patent right

Owner name: POWER DISPATCHING CONTROL CENTER OF GUANGDONG POWE

Effective date: 20150701

C41 Transfer of patent application or patent right or utility model
TA01 Transfer of patent application right

Effective date of registration: 20150701

Address after: High road high tech Development Zone Nanjing city Jiangsu province 210061 No. 20

Applicant after: NARI Technology Development Co., Ltd.

Applicant after: POWER DISPATCH CONTROL CENTER, GUANGDONG POWER GRID CO., LTD.

Address before: High road high tech Development Zone Nanjing city Jiangsu province 210061 No. 20

Applicant before: NARI Technology Development Co., Ltd.

CB03 Change of inventor or designer information

Inventor after: Gao Yuan

Inventor after: Lu Jiangang

Inventor after: Gu Wenjie

Inventor after: Ren Sheng

Inventor after: Sha Yichuan

Inventor after: Zeng Jianyong

Inventor after: Zhao Ruifeng

Inventor after: Fang Huajian

Inventor before: Gao Yuan

Inventor before: Gu Wenjie

Inventor before: Ren Sheng

Inventor before: Lu Jiangang

Inventor before: Sha Yichuan

Inventor before: Fang Huajian

COR Change of bibliographic data
GR01 Patent grant
GR01 Patent grant