The embodiment of the invention discloses a single service running method and device, which is applied to a single service node. The method includes: whether the default path exists in zookeeper path real time monitoring; if not, the registered path path to zookeeper; when the monitoring to zookeeper exist in the path path and path path identification information does not contain the single service node, cancel the path path when registered; monitoring to zookeeper in path path and path path identification information including the single service node, single service operation of single service node. With the embodiment of the invention, the single service operation with only one single service node is guaranteed at any time, and the uniqueness of the single service is guaranteed, and the data conflict is avoided. And multiple single service nodes can be enabled, so that single service is available as long as a single service node has a single service node, avoiding blocking subsequent tasks.
【技术实现步骤摘要】
一种单服务运行方法及装置
本专利技术涉及分布式
,特别涉及一种单服务运行方法及装置。
技术介绍
单服务是指在任何时刻只能运行且仅运行一个实例的服务。目前,为了保证单服务的唯一性,主要采用的方法是,以主备方式运行单服务,主单服务和备单服务之间通过心跳信号来判断两者之间的通信链路是否断开。当主单服务和备单服务均判断通信链路未断开时,仅有主单服务运行。当主单服务和备单服务均判断通信链路断开时,主单服务停止运行,备单服务开始运行。但在实际应用中,通常会出现主单服务判断通信链路未断开,但备单服务判断通信链路断开,此时主单服务未停止运行,备单服务开始运行,这就造成同时有两个单服务运行,单服务不唯一,运行数据存在冲突;还会出现主单服务判断通信链路断开,但备单服务判断通信链路未断开,此时主单服务停止运行,备单服务也未开始运行,这就造成没有单服务运行,阻塞后续任务进行。
技术实现思路
本专利技术实施例的目的在于提供一种单服务运行方法及装置,以保证单服务的唯一性,避免数据冲突以及阻塞后续任务进行。为达到上述目的,本专利技术实施例公开了一种单服务运行方法,应用于单服务节点,所述方法包 ...
【技术保护点】
一种单服务运行方法,其特征在于,应用于单服务节点,所述方法包括:实时监控分布式应用程序协调服务zookeeper中是否存在预设用于标识单服务节点注册到所述zookeeper的path路径;如果不存在,向所述zookeeper注册包含所述单服务节点的标识信息的所述path路径;在监控到所述zookeeper中存在所述path路径、且所述path路径包含的单服务节点的标识信息不为所述单服务节点的标识信息的情况下,取消向所述zookeeper注册所述path路径;在监控到所述zookeeper中存在所述path路径、且所述path路径包含有所述单服务节点的标识信息的情况下,运行所 ...
【技术特征摘要】
1.一种单服务运行方法,其特征在于,应用于单服务节点,所述方法包括:实时监控分布式应用程序协调服务zookeeper中是否存在预设用于标识单服务节点注册到所述zookeeper的path路径;如果不存在,向所述zookeeper注册包含所述单服务节点的标识信息的所述path路径;在监控到所述zookeeper中存在所述path路径、且所述path路径包含的单服务节点的标识信息不为所述单服务节点的标识信息的情况下,取消向所述zookeeper注册所述path路径;在监控到所述zookeeper中存在所述path路径、且所述path路径包含有所述单服务节点的标识信息的情况下,运行所述单服务节点的单服务。2.根据权利要求1所述的方法,其特征在于,在所述运行所述单服务节点的单服务之后,所述方法还包括:检测与所述zookeeper的连接状态;当检测到与所述zookeeper的连接状态为断开状态时,停止运行所述单服务节点的单服务。3.根据权利要求2所述的方法,其特征在于,所述方法还包括:当检测到与所述zookeeper的连接状态为正常状态时,检测所述单服务节点的单服务是否正在运行;如果否,重新运行所述单服务节点的单服务;再次检测所述单服务节点的单服务是否正在运行;如果否,删除所述zookeeper中的所述path路径。4.一种单服务运行方法,其特征在于,应用于单服务节点,所述方法包括:实时监控分布式应用程序协调服务zookeeper中预设path路径下是否注册有单服务节点;如果没有,将所述单服务节点作为临时节点,注册到所述预设path路径下;在监控到所述zookeeper中预设path路径下注册的单服务节点不为所述单服务节点的情况下,取消将所述单服务节点作为临时节点,注册到所述预设path路径下;在监控到所述zookeeper中预设path路径下注册的单服务节点为所述单服务节点的情况下,运行所述单服务节点的单服务。5.根据权利要求4所述的方法,其特征在于,在所述运行所述单服务节点的单服务之后,所述方法还包括:检测与所述zookeeper的连接状态;当检测到与所述zookeeper的连接状态为断开状态时,停止运行所述单服务节点的单服务。6.根据权利要求5所述的方法,其特征在于,所述方法还包括:当检测到与所述zookeeper的连接状态为正常状态时,检测所述单服务节点的单服务是否正在运行;如果否,重新运行所述单服务节点的单服务;再次检测所述单服务节点的单服务是否正在运行;如果否,删除所述path路径下的所述单服务节点。7.一种单服务运行装置,其特征在于,应用于单服务节点,所述装置包括:第一监控模块、第一注册模块、第一取消模块和第一运行模块,其中,所述第一监控模块,用于实时监控分布式应用程序协调服务zookeeper中是否存在预设用于标识单服务节点注册到所述zookeeper的path路径;所述第一注册模块,用于在所述第一监控模块监控到所述zookeeper中不存在所述path路径的情况下,向所述zookeeper注册包含所述单服务节点的标识信息的所述path路径;所述第一取消模块,用...
【专利技术属性】
技术研发人员:武绍龙,李雄锋,
申请(专利权)人:北京奇艺世纪科技有限公司,
类型:发明
国别省市:北京,11
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。