[发明专利]一种QPID集群控制方法及系统有效
申请号: | 202111260776.3 | 申请日: | 2021-10-28 |
公开(公告)号: | CN113961349B | 公开(公告)日: | 2022-09-06 |
发明(设计)人: | 张军朋;张乐;伍斯;罗盛君;张银发;唐卫涛;孙振宇;李大鹏;李晓伟;张汉勇;张力;张帆;赵志强 | 申请(专利权)人: | 中国西安卫星测控中心 |
主分类号: | G06F9/50 | 分类号: | G06F9/50;G06F9/54;H04L67/10 |
代理公司: | 西安弘理专利事务所 61214 | 代理人: | 韩玙 |
地址: | 710043 陕西*** | 国省代码: | 陕西;61 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 qpid 集群 控制 方法 系统 | ||
1.一种QPID集群控制方法,其特征在于,包括以下步骤:
步骤1、获取本节点QPID服务状态,状态包括是否在运行以及运行时的状态,根据状态确定本节点QPID角色,并将角色状态写入分布式缓存;Master节点指的是QPID服务状态为Active的节点,Slave节点是QPID服务状态为非Active的节点;本节点QPID未运行,则本节点QPID角色为Invalid;本节点运行,状态为Active,则本节点QPID角色为Master,否则为Slave;
步骤2、获取Master节点状态,获取方式为从分布式缓存读取并判断其持续改变性;获取的Master节点状态包括:节点标识、时间戳、运行计数以及连续运行时间;其中,节点标识为可唯一标识QPID节点的内容,时间戳为当前时间,运行计数为该Master节点上一次被切换为Master后的累加计数,连续运行时间为该Master节点上一次被切换为Master后的累计运行时间;如果从分布式缓存获取Master节点状态失败,或状态连续不改变,则认为Master节点不存在;
步骤3、控制QPID服务,如果本节点QPID角色为Master,且Master状态中的节点标识与本节点一致,则不改变本节点QPID服务状态,并将Master状态写入分布式缓存,否则将本节点切换为Slave;如果本节点QPID角色为Slave,且没有Master或Master状态中节点标识与本节点一致,则将QPID角色切换为Active;如果QPID角色为Invalid,且Master状态中的节点标识与本节点一致,则从分布式缓存将Master节点状态删除。
2.如权利要求1所述的一种QPID集群控制方法,其特征在于,所述步骤1中获取本节点QPID服务状态的方式为:判断QPID服务的PID文件是否存在,如果不存在则本节点QPID未运行,本节点QPID角色为Invalid;否则,读取PID文件内容,获取QPID服务进程标识,通过进程标识获取/proc下的QPID服务进程目录是否存在,如果目录存在,则本节点QPID运行,否则本节点QPID未运行,则本节点QPID角色为Invalid;如果本节点运行,通过“qpid-hastatus”命令查询状态,如果状态为Active,则本节点QPID角色为Master,否则为Slave。
3.如权利要求1所述的一种QPID集群控制方法,其特征在于,所述步骤3中将本节点切换为Slave的方式为:读取QPID服务的PID文件内容,获取进程标识,kill该进程,删除PID文件。
4.如权利要求1所述的一种QPID集群控制方法,其特征在于,所述将QPID角色切换为Active的方式为:将Master节点状态写到分布式缓存中,其中节点标识为本节点标识、时间戳为当前时间、运行计数为1、连续运行时间为0;执行状态切换为Active的命令“qpid-hapromote --cluster-manager”,并判断命令执行结果,如果执行不成功,或本节点QPID实际状态不为Active,则从分布式缓存删除Master节点状态,读取QPID服务的PID文件内容,获取进程标识,kill该进程,删除PID文件。
5.如权利要求1所述的一种QPID集群控制方法,其特征在于,所述步骤3中将Master状态写入分布式缓存,Master状态中的节点标识为本节点标识、时间戳为当前时间、运行计数为上一次的计数加1、连续运行时间为本节点上一次被切换为Master后的累计运行时间。
6.一种执行如权利要求1所述的QPID集群控制方法的系统,其特征在于,包括不少于两个QPID集群节点,每个节点上有QPID服务和QPID监控服务;分布式缓存服务器;连接所有集群节点和分布式缓存服务器的网络。
7.如权利要求6所述的一种执行QPID集群控制方法的系统,其特征在于,所述QPID服务和QPID监控服务均以系统服务的方式运行,QPID监控服务为实现QPID集群控制方法的应用程序。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于中国西安卫星测控中心,未经中国西安卫星测控中心许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202111260776.3/1.html,转载请声明来源钻瓜专利网。