[发明专利]一种基于MQTT通讯和主备之间心跳的双机备份方法有效
申请号: | 201811135172.4 | 申请日: | 2018-09-28 |
公开(公告)号: | CN109286525B | 公开(公告)日: | 2022-02-25 |
发明(设计)人: | 刘毅;杨映春;刘子龙;张浩;师智良;张宇 | 申请(专利权)人: | 昆明能讯科技有限责任公司 |
主分类号: | H04L41/0663 | 分类号: | H04L41/0663;H04L41/0677;H04L43/0811;H04L43/0817 |
代理公司: | 昆明今威专利商标代理有限公司 53115 | 代理人: | 赛晓刚 |
地址: | 650217 云南省昆*** | 国省代码: | 云南;53 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | 一种基于MQTT通讯和主备之间心跳的双机备份方法,本发明为了克服双机备份场景中,只依靠主机(主节点A,active)和备机(从节点B,standby)之间心跳机制误判主机状态而出现脑裂(Split‑brain)现象,以及出现故障时不能快速定位是节点本身故障还是通道连接故障的缺点。将MQTT的消息发布/订阅机制和遗嘱机制应用于双机互备场景,与AB间心跳线机制融合使用。本发明通过发布/订阅状态监测消息和遗嘱消息使A、B相互监视。节点A异常时节点B立即接管节点A的资源和服务,克服了只依靠AB间心跳机制误判主机状态而出现脑裂现象的缺点。通过将MQTT的消息发布/订阅机制和遗嘱机制与AB间心跳线机制融合使用,根据AB间心跳信息、MQTTD的监测消息和遗嘱消息快速定位是节点故障还是通道故障。 | ||
搜索关键词: | 一种 基于 mqtt 通讯 之间 心跳 双机 备份 方法 | ||
【主权项】:
1.一种基于MQTT通讯和主备之间心跳的双机备份方法,其特征是,将MQTT客户端A、B节点双机备份,其中A为主机设备、B为待机设备,1A、1B相互备份,2A、2B相互备份,2A、3B相互备份,以此类推;A节点与B节点之间有AB心跳线,保持心跳连接,相互监视;A节点为主设备,正常提供规定的业务资源和功能服务;B节点为从设备,作为A节点的备用机,正常处于待机状态,在A节点不能提供规定的业务资源和功能服务时接管资源和服务;A节点为主设备,正常提供规定的业务资源和功能服务;A节点正常状态定时发布状态监测主题:Node A condition monitoring Topic的相关消息:Node A condition monitoring Message,并配置好遗嘱主题:Node A Will Topic和遗嘱消息:Node A Will Message;B节点订阅A节点状态监测主题Node A condition monitoring Topic和遗嘱主题Node A Will Topic,接收A节点正常运行时的状态监测消息Node A condition monitoring Message和异常时的遗嘱消息Node A Will Message;B节点通过状态监测消息和遗嘱消息,监视A节点的工作状态和A通道的连通性;B节点为从设备,作为A节点的备用机,正常处于待机状态,在A节点不能提供规定的业务资源和功能服务时接管资源和服务;B节点正常状态定时发布状态监测主题:Node B condition monitoring Topic的相关消息:Node B condition monitoring Message,并配置好遗嘱主题:Node B Will Topic和遗嘱消息:Node B Will Message;A节点订阅B节点状态监测主题Node B condition monitoring Topic和遗嘱主题Node B Will Topic,接收B节点正常运行时的状态监测消息Node B condition monitoring Message和异常时的遗嘱消息Node B Will Message;A节点通过状态监测消息和遗嘱消息,监视B节点的工作状态和B通道的连通性;当B节点收不到A节点的状态监测消息Node A condition monitoring Message,并收到Node A Will Message时,立即接管B节点的资源和服务;并发布AB心跳主题:AB keep alive Topic对应的心跳状态消息:AB keep alive Message发布到服务器,运维服务根据AB心跳信息AB keep alive Message、A节点的Node A condition monitoring Message和Node A Will Message定位故障;若AB keep alive Message显示A节点的没有心跳且收到Node A Will Message;或者AB keep alive Message显示A节点的没有心跳,但未收到Node A condition monitoring Message和Node A Will Message则判断A节点故障的可能性最大,从A节点入手排查故障;若AB keep alive Message显示A节点的有心跳且收到Node A Will Message;或者若AB keep alive Message显示A节点的有心跳,但未收到Node A condition monitoring Message和Node A Will Message则判断A通道故障的可能性最大,从A通道入手排查故障;当A节点收不到B节点的状态监测消息Node B condition monitoring Message,并收到Node B Will Message时,发布B节点故障告警消息,提醒备份机异常尽快修复;并发布AB心跳主题:AB keep alive Topic对应的心跳状态消息:AB keep alive Message发布到服务器;运维服务根据AB心跳信息AB keep alive Message、B节点的Node A condition monitoring Message和Node B Will Message定位故障;若AB keep alive Message显示没有B节点的心跳,且收到Node B Will Message;或者AB keep alive Message显示没有B节点的心跳,但未收到Node B condition monitoring Message和Node B Will Message则判断A节点故障的可能性最大,从B节点入手排查故障;若AB keep alive Message显示有B节点的心跳且收到Node B Will Message;或者AB keep alive Message显示有B节点的心跳,但未收到Node B condition monitoring Message和Node B Will Message则判断A通道故障的可能性最大,从B通道入手排查故障。
下载完整专利技术内容需要扣除积分,VIP会员可以免费下载。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于昆明能讯科技有限责任公司,未经昆明能讯科技有限责任公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/patent/201811135172.4/,转载请声明来源钻瓜专利网。