一种终端的状态机状态转换的方法及装置制造方法及图纸

技术编号:9977227 阅读:102 留言:0更新日期:2014-04-28 19:20
本发明专利技术实施例公开了一种终端的状态机状态转换的方法,包括:控制终端根据各执行终端的执行状态向所有所述执行终端发送状态机状态转换的控制消息;所述控制终端接收所述各执行终端反馈的状态信息,所述状态信息为所述执行终端根据所述控制消息进行状态机状态转换后反馈的执行状态信息;所述控制终端根据所述各执行终端反馈的状态信息更新所述各执行终端的执行状态,以根据更新后的所述各执行终端的执行状态向所有所述执行终端发送状态机状态转换的下一个控制消息。本发明专利技术实施例还公开了一种状态机状态转换的装置。采用本发明专利技术,具体可提高终端状态机状态转换的效率,增强系统的可靠性和用户体验效果的优点。

【技术实现步骤摘要】
一种终端的状态机状态转换的方法及装置
本专利技术涉及通信
,尤其涉及一种终端的状态机状态转换的方法及装置。
技术介绍
在大规模集群分布式系统中,系统执行任务时系统中的各个节点之间存在着依赖性,系统执行任务时必须保证所有的执行节点都完成当前任务才能下发下一个任务,即系统必须保证所有的执行节点都完成了状态机的状态转换才能进入下一个状态。例如,在集群系统执行系统升级功能时,一般需要几个步骤:旧版本的升级前检查、旧版本的卸载、新版本的下载、新版本安装、新版本启动等,若把上述每一个步骤设定为一个状态,则在集群系统中,系统中的执行节点在系统执行升级功能的过程中,需要进行不同状态的状态转换,例如,执行节点在系统执行升级功能的过程中,状态机需要由旧版本的升级前检查的状态转换为旧版本的卸载、由旧版本的卸载转换为新版本的下载等,直到最后一个状态才能完成系统的升级。在系统执行升级功能的过程中,集群中的所有执行节点都执行完了第一个状态后才能执行第二个状态,只有所有的执行节点都完成状态的转换才能使整个集群系统成功完成状态的转换。现有技术中主要是通过客户端连接集群的控制节点,通过控制节点来下发状态机状态转换的控制命令,控制各个执行节点进行状态机状态转换。控制节点起一个任务(由第一状态转换至第二状态)时先将状态转换的控制命令下发给集群系统中的第一个节点,此节点完成状态转换之后通知控制节点执行完毕,控制节点再将转换命令下发给第二个节点,该节点执行完毕之后控制节点再向第三个节点下发命令,如此循环直至所有节点都执行完状态转换之后,控制节点再从第一个节点开始下发下一个任务的状态转换的转换命令。现有技术中,控制节点发出的每一个状态转换的命令在系统的各个执行节点中的串行执行的,系统执行任务时的总时长会随着集群规模的扩大而增长,执行效率低。此外,在现有技术中,为了保证控制节点故障的可靠性,控制节点还要通过另外一条消息将各个执行节点的执行结果同步到各个执行节点上,即控制节点向执行节点发送的控制命令和执行节点的状态同步消息是分离的,控制节点的可靠性低,状态同步消息的发送会随着集群规模的扩大而加大难度,造成控制节点消息拥塞,使得终端状态的状态转换效率低,用户体验效果差。
技术实现思路
本专利技术实施例所要解决的技术问题在于,提供一种终端的状态机状态转换的方法,可提高状态机的状态转换效率,提高系统的可靠性和用户体验。本专利技术实施例第一方面提供了一种终端的状态机状态转换的方法,其可包括:控制终端根据各执行终端的执行状态向所有所述执行终端发送状态机状态转换的控制消息,所述控制消息中包括用于指示所述执行终端进行状态机状态转换的状态字;所述控制终端接收所述各执行终端反馈的状态信息,所述状态信息为所述执行终端根据所述控制消息进行状态机状态转换后反馈的执行状态信息;所述控制终端根据所述各执行终端反馈的状态信息更新所述各执行终端的执行状态,以根据更新后的所述各执行终端的执行状态向所有所述执行终端发送状态机状态转换的下一个控制消息。结合第一方面,在第一种可能的实现方式中,所述状态机转换的控制消息中还包括:根据所述控制消息中的状态字进行状态转换的执行对象;其中,所述执行对象为所述所有所述执行终端中至少一个所述执行终端。结合第一方面或第一方面第一种可能的实现方式,在第二种可能的实现方式中,所述各执行终端的执行状态包括:所述各执行终端当前状态机所处的状态和所述各执行终端进行状态机状态转换的执行进度。结合第一方面第二种可能的实现方式,在第三种可能的实现方式中,所述控制终端根据各执行终端的执行状态向所有所述执行终端发送状态机状态转换的控制消息,包括:所述控制终端根据所述各执行终端当前状态机所处的状态判断所有所述执行终端当前状态机是否处于同一个状态;若所述所有所述执行终端当前状态机都处于同一个状态,则根据所述各所述执行终端进行状态机状态转换的执行进度判断所述所有所述执行终端是否已完成状态机状态转换;若所述所有所述执行终端都已完成状态机状态转换,则向所述所有所述执行终端下发状态机状态转换的第一状态字,若所述所有所述执行终端中有未完成状态机状态转换的所述执行终端,则向所述所有所述执行终端下发状态机状态转换的第二状态字;若所述所有所述执行终端当前状态机未处同一个状态,则向所述所有所述执行终端下发状态机状态转换的第二状态字。结合第一方面至第一方面第三种可能的实现方式中任一种,在第四种可能的实现方式中,所述状态机状态转换的控制消息中还包括:节点分级信息,所述节点分级信息中包括所述各执行终端所处的节点等级,或者所述各执行终端所管理的下一级执行终端的信息;所述控制终端根据各执行终端的执行状态向所有所述执行终端发送状态机状态转换的控制消息,包括:所述控制终端根据各执行终端的执行状态向所有所述执行终端发送状态机状态转换的状态字和节点分级信息,以指示所述各执行终端进行状态机状态转换,并通过所述各执行终端将所述控制消息下发给所述各执行终端所管理的下一级执行终端。本专利技术实施例第二方面提供了一种终端的状态机状态转换的方法,其可包括:执行终端接收控制终端发送的状态机状态转换的控制消息,所述控制消息中包括用于指示所述执行终端进行状态机状态转换的状态字;所述执行终端根据所述状态字和所述执行终端当前状态机的状态判断是否执行状态机状态转换;若判断结果为是,则根据所述状态字进行状态机状态转换,并向所述控制终端反馈执行状态信息;若判断结果为否,则向所述控制终端反馈执行状态信息。结合第二方面,在第一种可能的实现方式中,所述执行终端向所述控制终端反馈的所述执行状态信息中包括:所述执行终端当前状态机所处的状态,和所述执行终端进行状态机状态转换的执行进度。结合第一方面或第一方面第一种可能的实现方式,在第二种可能的实现方式中,所述执行终端根据所述状态字和所述执行终端当前状态机的状态判断是否执行状态机状态转换,包括:所述执行终端将从所述控制终端处接收到的所述状态字与所述执行终端当前状态机所处的状态对应的状态字进行比较,判断所述接收到的状态字是否大于所述状态机所处的状态对应的状态字;若判断结果为是,则执行状态机状态转换;若判断结果为否,则不执行状态机状态转换。结合第二方面至第二方面第二种可能的实现方式中任一种,在第三种可能的实现方式中,所述执行终端从所述控制终端处接收到的控制消息中还包括:节点分级信息,所述节点分级信息中包括所述各执行终端所处的节点等级,或者所述各执行终端所管理的下一级执行终端的信息;所述执行终端接收控制终端发送的状态机状态转换的控制消息之后,所述方法还包括:所述执行终端根据所述节点分级信息中指示的所述执行终端所管理的下一级执行终端的信息,将所述从所述控制终端处接收的控制信息传送给所述执行终端所管理的执行终端。本专利技术实施例第三方面提供了一种状态机状态转换的控制终端,其可包括:发送模块,用于根据各执行终端的执行状态向所有所述执行终端发送状态机状态转换的控制消息,所述控制消息中包括用于指示所述执行终端进行状态机状态转换的状态字;接收模块,用于接收所述各执行终端反馈的状态信息,所述状态信息为所述执行终端根据所述控制消息进行状态机状态转换后反馈的执行状态信息;更新模块,用于根据所述各执行终端反馈的状态信息更新所述各执行本文档来自技高网
...
一种终端的状态机状态转换的方法及装置

【技术保护点】

【技术特征摘要】
1.一种终端的状态机状态转换的方法,其特征在于,控制终端位于分布式集群系统中,所述分布式集群系统中还包括多个执行终端,所述方法包括:控制终端根据各执行终端的执行状态向所有所述执行终端发送状态机状态转换的控制消息,所述控制消息中包括用于指示所述执行终端进行状态机状态转换的状态字;所述控制消息中还包括:根据所述控制消息中的状态字进行状态转换的执行对象;其中,所述执行对象为所有所述执行终端中至少一个所述执行终端;所述控制终端接收所述各执行终端反馈的状态信息,所述状态信息为所述执行终端根据所述控制消息进行状态机状态转换后反馈的执行状态信息;所述控制终端根据所述各执行终端反馈的状态信息更新所述各执行终端的执行状态,以根据更新后的所述各执行终端的执行状态向所有所述执行终端发送状态机状态转换的下一个控制消息。2.如权利要求1所述的方法,其特征在于,所述各执行终端的执行状态包括:所述各执行终端当前状态机所处的状态和所述各执行终端进行状态机状态转换的执行进度。3.如权利要求2所述的方法,其特征在于,所述控制终端根据各执行终端的执行状态向所有所述执行终端发送状态机状态转换的控制消息,包括:所述控制终端根据所述各执行终端当前状态机所处的状态判断所有所述执行终端当前状态机是否处于同一个状态;若所有所述执行终端当前状态机都处于同一个状态,则根据所述各执行终端进行状态机状态转换的执行进度判断所有所述执行终端是否已完成状态机状态转换;若所有所述执行终端都已完成状态机状态转换,则向所有所述执行终端下发状态机状态转换的第一状态字,若所有所述执行终端中有未完成状态机状态转换的所述执行终端,则向所有所述执行终端下发状态机状态转换的第二状态字;若所有所述执行终端当前状态机未处同一个状态,则向所有所述执行终端下发状态机状态转换的第二状态字。4.如权利要求1-3任意一项所述的方法,其特征在于,所述状态机状态转换的控制消息中还包括:节点分级信息,所述节点分级信息中包括所述各执行终端所处的节点等级,或者所述各执行终端所管理的下一级执行终端的信息;所述控制终端根据各执行终端的执行状态向所有所述执行终端发送状态机状态转换的控制消息,包括:所述控制终端根据各执行终端的执行状态向所有所述执行终端发送状态机状态转换的状态字和节点分级信息,以指示所述各执行终端进行状态机状态转换,并通过所述各执行终端将所述控制消息下发给所述各执行终端所管理的下一级执行终端。5.一种终端的状态机状态转换的方法,其特征在于,执行终端位于分布式集群系统中,所述分布式集群系统中还包括控制终端,所述方法包括:执行终端接收控制终端发送的状态机状态转换的控制消息,所述执行终端为所述分布式集群系统中包含的多个执行终端中的一个,所述控制消息为所述控制终端根据所述多个执行终端中各执行终端的执行状态向所有执行终端发送的状态机状态转换的控制消息,所述控制消息中包括根据所述控制消息中的状态字进行状态转换的执行对象以及用于指示所述执行对象进行状态机状态转换的状态字;所述执行终端根据所述执行对象、所述状态字和所述执行终端当前状态机的状态判断是否执行状态机状态转换;若判断结果为是,则根据所述状态字进行状态机状态转换,并向所述控制终端反馈执行状态信息;若判断结果为否,则向所述控制终端反馈执行状态信息;其中,所述执行状态信息提供给所述控制终端更新所述执行终端的执行状态,以供控制终端根据更新后的所述各执行终端的执行状态向所述各执行终端发送状态机状态转换的下一个控制消息。6.如权利要求5所述的方法,其特征在于,所述执行终端向所述控制终端反馈的所述执行状态信息中包括:所述执行终端当前状态机所处的状态,和所述执行终端进行状态机状态转换的执行进度。7.如权利要求5或6所述的方法,其特征在于,所述执行终端根据所述执行对象、所述状态字和所述执行终端当前状态机的状态判断是否执行状态机状态转换,包括:所述执行终端根据所述执行对象确定是否需要进行状态机状态转换,若需要进行状态机状态转换,则将从所述控制终端处接收到的所述状态字与所述执行终端当前状态机所处的状态对应的状态字进行比较,判断所述接收到的状态字是否大于所述状态机所处的状态对应的状态字;若判断结果为是,则执行状态机状态转换;若判断结果为否,则不执行状态机状态转换。8.如权利要求7所述的方法,其特征在于,所述执行终端从所述控制终端处接收到的控制消息中还包括:节点分级信息,所述节点分级信息中包括各执行终端所处的节点等级,或者所述各执行终端所管理的下一级执行终端的信息;所述执行终端接收控制终端发送的状态机状态转换的控制消息之后,所述方法还包括:所述执行终端根据所述节点分级信息中指示的所述执行终端所管理的下一级执行终端的信息,将所述从所述控制终端处接收的...

【专利技术属性】
技术研发人员:段志远
申请(专利权)人:华为技术有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1