【技术实现步骤摘要】
一种终端的状态机状态转换的方法及装置
本专利技术涉及通信
,尤其涉及一种终端的状态机状态转换的方法及装置。
技术介绍
在大规模集群分布式系统中,系统执行任务时系统中的各个节点之间存在着依赖性,系统执行任务时必须保证所有的执行节点都完成当前任务才能下发下一个任务,即系统必须保证所有的执行节点都完成了状态机的状态转换才能进入下一个状态。例如,在集群系统执行系统升级功能时,一般需要几个步骤:旧版本的升级前检查、旧版本的卸载、新版本的下载、新版本安装、新版本启动等,若把上述每一个步骤设定为一个状态,则在集群系统中,系统中的执行节点在系统执行升级功能的过程中,需要进行不同状态的状态转换,例如,执行节点在系统执行升级功能的过程中,状态机需要由旧版本的升级前检查的状态转换为旧版本的卸载、由旧版本的卸载转换为新版本的下载等,直到最后一个状态才能完成系统的升级。在系统执行升级功能的过程中,集群中的所有执行节点都执行完了第一个状态后才能执行第二个状态,只有所有的执行节点都完成状态的转换才能使整个集群系统成功完成状态的转换。现有技术中主要是通过客户端连接集群的控制节点,通过控制节点来下发状态机状态转换的控制命令,控制各个执行节点进行状态机状态转换。控制节点起一个任务(由第一状态转换至第二状态)时先将状态转换的控制命令下发给集群系统中的第一个节点,此节点完成状态转换之后通知控制节点执行完毕,控制节点再将转换命令下发给第二个节点,该节点执行完毕之后控制节点再向第三个节点下发命令,如此循环直至所有节点都执行完状态转换之后,控制节点再从第一个节点开始下发下一个任务的状态转换的转换 ...
【技术保护点】
【技术特征摘要】
1.一种终端的状态机状态转换的方法,其特征在于,控制终端位于分布式集群系统中,所述分布式集群系统中还包括多个执行终端,所述方法包括:控制终端根据各执行终端的执行状态向所有所述执行终端发送状态机状态转换的控制消息,所述控制消息中包括用于指示所述执行终端进行状态机状态转换的状态字;所述控制消息中还包括:根据所述控制消息中的状态字进行状态转换的执行对象;其中,所述执行对象为所有所述执行终端中至少一个所述执行终端;所述控制终端接收所述各执行终端反馈的状态信息,所述状态信息为所述执行终端根据所述控制消息进行状态机状态转换后反馈的执行状态信息;所述控制终端根据所述各执行终端反馈的状态信息更新所述各执行终端的执行状态,以根据更新后的所述各执行终端的执行状态向所有所述执行终端发送状态机状态转换的下一个控制消息。2.如权利要求1所述的方法,其特征在于,所述各执行终端的执行状态包括:所述各执行终端当前状态机所处的状态和所述各执行终端进行状态机状态转换的执行进度。3.如权利要求2所述的方法,其特征在于,所述控制终端根据各执行终端的执行状态向所有所述执行终端发送状态机状态转换的控制消息,包括:所述控制终端根据所述各执行终端当前状态机所处的状态判断所有所述执行终端当前状态机是否处于同一个状态;若所有所述执行终端当前状态机都处于同一个状态,则根据所述各执行终端进行状态机状态转换的执行进度判断所有所述执行终端是否已完成状态机状态转换;若所有所述执行终端都已完成状态机状态转换,则向所有所述执行终端下发状态机状态转换的第一状态字,若所有所述执行终端中有未完成状态机状态转换的所述执行终端,则向所有所述执行终端下发状态机状态转换的第二状态字;若所有所述执行终端当前状态机未处同一个状态,则向所有所述执行终端下发状态机状态转换的第二状态字。4.如权利要求1-3任意一项所述的方法,其特征在于,所述状态机状态转换的控制消息中还包括:节点分级信息,所述节点分级信息中包括所述各执行终端所处的节点等级,或者所述各执行终端所管理的下一级执行终端的信息;所述控制终端根据各执行终端的执行状态向所有所述执行终端发送状态机状态转换的控制消息,包括:所述控制终端根据各执行终端的执行状态向所有所述执行终端发送状态机状态转换的状态字和节点分级信息,以指示所述各执行终端进行状态机状态转换,并通过所述各执行终端将所述控制消息下发给所述各执行终端所管理的下一级执行终端。5.一种终端的状态机状态转换的方法,其特征在于,执行终端位于分布式集群系统中,所述分布式集群系统中还包括控制终端,所述方法包括:执行终端接收控制终端发送的状态机状态转换的控制消息,所述执行终端为所述分布式集群系统中包含的多个执行终端中的一个,所述控制消息为所述控制终端根据所述多个执行终端中各执行终端的执行状态向所有执行终端发送的状态机状态转换的控制消息,所述控制消息中包括根据所述控制消息中的状态字进行状态转换的执行对象以及用于指示所述执行对象进行状态机状态转换的状态字;所述执行终端根据所述执行对象、所述状态字和所述执行终端当前状态机的状态判断是否执行状态机状态转换;若判断结果为是,则根据所述状态字进行状态机状态转换,并向所述控制终端反馈执行状态信息;若判断结果为否,则向所述控制终端反馈执行状态信息;其中,所述执行状态信息提供给所述控制终端更新所述执行终端的执行状态,以供控制终端根据更新后的所述各执行终端的执行状态向所述各执行终端发送状态机状态转换的下一个控制消息。6.如权利要求5所述的方法,其特征在于,所述执行终端向所述控制终端反馈的所述执行状态信息中包括:所述执行终端当前状态机所处的状态,和所述执行终端进行状态机状态转换的执行进度。7.如权利要求5或6所述的方法,其特征在于,所述执行终端根据所述执行对象、所述状态字和所述执行终端当前状态机的状态判断是否执行状态机状态转换,包括:所述执行终端根据所述执行对象确定是否需要进行状态机状态转换,若需要进行状态机状态转换,则将从所述控制终端处接收到的所述状态字与所述执行终端当前状态机所处的状态对应的状态字进行比较,判断所述接收到的状态字是否大于所述状态机所处的状态对应的状态字;若判断结果为是,则执行状态机状态转换;若判断结果为否,则不执行状态机状态转换。8.如权利要求7所述的方法,其特征在于,所述执行终端从所述控制终端处接收到的控制消息中还包括:节点分级信息,所述节点分级信息中包括各执行终端所处的节点等级,或者所述各执行终端所管理的下一级执行终端的信息;所述执行终端接收控制终端发送的状态机状态转换的控制消息之后,所述方法还包括:所述执行终端根据所述节点分级信息中指示的所述执行终端所管理的下一级执行终端的信息,将所述从所述控制终端处接收的...
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。