[发明专利]一种单服务运行方法及装置有效
申请号: | 201710208294.0 | 申请日: | 2017-03-31 |
公开(公告)号: | CN107086940B | 公开(公告)日: | 2019-11-15 |
发明(设计)人: | 武绍龙;李雄锋 | 申请(专利权)人: | 北京奇艺世纪科技有限公司 |
主分类号: | H04L12/26 | 分类号: | H04L12/26;H04L12/24;H04L29/08 |
代理公司: | 11413 北京柏杉松知识产权代理事务所(普通合伙) | 代理人: | 项京;马敬<国际申请>=<国际公布>=< |
地址: | 100080北京市海淀*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 服务 运行 方法 装置 | ||
本发明实施例公开了一种单服务运行方法及装置,应用于单服务节点。方法包括:实时监控zookeeper中是否存在预设path路径;如果否,向zookeeper注册path路径;当监控到zookeeper中存在path路径且path路径不包含所述单服务节点的标识信息时,取消path路径注册;当监控到zookeeper中存在path路径且path路径包含所述单服务节点的标识信息时,运行单服务节点的单服务。应用本发明实施例,任何时候仅有一个单服务节点的单服务运行,保证了单服务的唯一性,避免了数据冲突。并且可以启用多个单服务节点,只要有一个单服务节点的单服务正常运行,单服务即可用,避免了阻塞后续任务进行。
技术领域
本发明涉及分布式技术领域,特别涉及一种单服务运行方法及装置。
背景技术
单服务是指在任何时刻只能运行且仅运行一个实例的服务。
目前,为了保证单服务的唯一性,主要采用的方法是,以主备方式运行单服务,主单服务和备单服务之间通过心跳信号来判断两者之间的通信链路是否断开。当主单服务和备单服务均判断通信链路未断开时,仅有主单服务运行。当主单服务和备单服务均判断通信链路断开时,主单服务停止运行,备单服务开始运行。
但在实际应用中,通常会出现主单服务判断通信链路未断开,但备单服务判断通信链路断开,此时主单服务未停止运行,备单服务开始运行,这就造成同时有两个单服务运行,单服务不唯一,运行数据存在冲突;还会出现主单服务判断通信链路断开,但备单服务判断通信链路未断开,此时主单服务停止运行,备单服务也未开始运行,这就造成没有单服务运行,阻塞后续任务进行。
发明内容
本发明实施例的目的在于提供一种单服务运行方法及装置,以保证单服务的唯一性,避免数据冲突以及阻塞后续任务进行。
为达到上述目的,本发明实施例公开了一种单服务运行方法,应用于单服务节点,所述方法包括:
实时监控分布式应用程序协调服务zookeeper中是否存在预设用于标识单服务节点注册到所述zookeeper的path路径;
如果不存在,向所述zookeeper注册包含所述单服务节点的标识信息的所述path路径;
在监控到所述zookeeper中存在所述path路径、且所述path路径包含的单服务节点的标识信息不为所述单服务节点的标识信息的情况下,取消向所述zookeeper注册所述path路径;
在监控到所述zookeeper中存在所述path路径、且所述path路径包含有所述单服务节点的标识信息的情况下,运行所述单服务节点的单服务。
可选的,在所述运行所述单服务节点的单服务之后,所述方法还包括:
检测与所述zookeeper的连接状态;
当检测到与所述zookeeper的连接状态为断开状态时,停止运行所述单服务节点的单服务。
可选的,所述方法还包括:
当检测到与所述zookeeper的连接状态为正常状态时,检测所述单服务节点的单服务是否正在运行;
如果否,重新运行所述单服务节点的单服务;
再次检测所述单服务节点的单服务是否正在运行;
如果否,删除所述zookeeper中的所述path路径。
为达到上述目的,本发明实施例公开了一种单服务运行方法,应用于单服务节点,所述方法包括:
实时监控分布式应用程序协调服务zookeeper中预设path路径下是否注册有单服务节点;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京奇艺世纪科技有限公司,未经北京奇艺世纪科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201710208294.0/2.html,转载请声明来源钻瓜专利网。