[发明专利]基于状态机的消息引擎动态调整方法、装置及电子设备有效
申请号: | 201710069150.1 | 申请日: | 2017-02-08 |
公开(公告)号: | CN108400881B | 公开(公告)日: | 2021-11-05 |
发明(设计)人: | 金吉祥;王小瑞;冯嘉 | 申请(专利权)人: | 阿里巴巴集团控股有限公司 |
主分类号: | H04L12/24 | 分类号: | H04L12/24;H04L12/26;H04L29/08 |
代理公司: | 北京市惠诚律师事务所 11353 | 代理人: | 逯博 |
地址: | 英属开曼群岛大开*** | 国省代码: | 暂无信息 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 基于 状态机 消息 引擎 动态 调整 方法 装置 电子设备 | ||
1.一种基于状态机的消息引擎动态调整方法,其特征在于,所述消息引擎包括一个主节点和多个副本节点,且所述副本节点从所述主节点复制数据的过程存在如下的复制状态:
异步复制状态:写请求命中主节点之后,各所述副本节点从主节点复制写数据,并在所述主节点完成写操作后,向客户端反馈写成功消息;
同步复制状态:写请求命中主节点之后,各所述副本节点从主节点复制写数据,并在所述主节点和各所述副本节点均完成写操作后,向客户端反馈写成功消息;
所述方法包括:
如果各所述副本节点处于所述异步复制状态,且各所述副本节点与所述主节点之间的数据差异小于第一阈值,则将各所述副本节点的复制状态从所述异步复制状态调整为所述同步复制状态;
和/或,
如果各所述副本节点处于所述同步复制状态,且各所述副本节点、所述主节点的写操作延迟时间大于第二阈值,则将各所述副本节点的复制状态从所述同步复制状态调整为所述异步复制状态。
2.根据权利要求1所述的方法,其特征在于,所述副本节点从所述主节点复制数据的过程还存在如下的复制状态:
半同步复制状态:当前命中所述主节点的写请求被维持,各所述副本节点从主节点复制写数据,并在各所述副本节点与所述主节点上的写数据无差异后,解除所述主节点的写请求的维持状态;
所述将各所述副本节点的复制状态从所述异步复制状态调整为所述同步复制状态包括:
将各所述副本节点的复制状态从所述异步复制状态切换为所述半同步复制状态,待所述主节点的写请求的维持状态解除后,将所述副本节点的复制状态从所述半同步复制状态切换为所述同步复制状态。
3.根据权利要求2所述的方法,其特征在于,所述消息引擎包括单主状态以及所述副本节点对应的所述复制状态:
所述单主状态:当前消息引擎中有且仅有第一个节点启动后,以该节点作为所述主节点执行所述写请求的命令;
所述方法还包括:
在初始状态下,如果当前所述消息引擎中有节点启动,则将所述消息引擎从初始状态调整到所述单主状态;
在所述消息引擎处于所述单主状态下,如果存在除所述第一个节点的其他节点启动后,将所述消息引擎从所述单主状态调整到所述异步复制状态。
4.根据权利要求3所述的方法,其特征在于,所述方法还包括:
在所述消息引擎处于所述异步复制状态、所述半同步复制状态以及所述单主状态中的任一状态下,如果所述主节点发生宕机,则执行报警操作。
5.根据权利要求3所述的方法,其特征在于,所述方法还包括:
在所述消息引擎处于所述异步复制状态下,如果所有所述副本节点发生宕机,则将所述消息引擎从所述异步复制状态调整为所述单主状态。
6.根据权利要求3所述的方法,其特征在于,所述方法还包括:
在所述消息引擎处于所述半同步复制状态下,如果所有所述副本节点发生宕机,则将所述消息引擎从所述半同步复制状态调整为所述单主状态。
7.根据权利要求3所述的方法,其特征在于,所述方法还包括:
在所述消息引擎处于所述同步复制状态下,如果所述主节点、所述副本节点中任一节点发生宕机,则从剩余未发生宕机的节点中选择一个节点作为主节点,并将所述消息引擎从所述同步复制状态调整为所述单主状态。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于阿里巴巴集团控股有限公司,未经阿里巴巴集团控股有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201710069150.1/1.html,转载请声明来源钻瓜专利网。