[发明专利]一种分布式心跳检测方法、装置及系统有效
申请号: | 201310039942.6 | 申请日: | 2013-02-01 |
公开(公告)号: | CN103117901A | 公开(公告)日: | 2013-05-22 |
发明(设计)人: | 刘叙友;张烽 | 申请(专利权)人: | 华为技术有限公司 |
主分类号: | H04L12/26 | 分类号: | H04L12/26;H04L29/08 |
代理公司: | 深圳市深佳知识产权代理事务所(普通合伙) 44285 | 代理人: | 唐华明 |
地址: | 518129 广东*** | 国省代码: | 广东;44 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 分布式 心跳 检测 方法 装置 系统 | ||
1.一种分布式心跳检测方法,应用于节点系统,其特征在于,所述节点系统中包括中心节点和多个数据节点,所述方法包括:
中心节点根据节点系统的拓扑结构为每个数据节点生成一个对应的心跳视图,任一个数据节点的所述心跳视图用于标识该数据节点与不同数据节点所组成的心跳检测关系;
将每个所述心跳视图发送给对应数据节点,使得所述对应的数据节点根据所述心跳视图发送心跳消息。
2.根据权利要求1所述的方法,其特征在于,所述根据节点系统的拓扑结构为每个数据节点生成一个对应的心跳视图包括:
按照每个数据节点所处的机架及服务器的位置选取数据节点,所述心跳视图中具有心跳检测关系的不同数据节点分布在不同的服务器或机架中;
根据所选取的数据节点的ID生成所述心跳视图。
3.根据权利要求1或2所述的方法,其特征在于,所述方法还包括:
若在预先设置的心跳检测时长内,没有接收到所述第一数据节点对应的心跳视图中所指示的发送节点所发送的心跳消息,则判定所述发送节点故障,所述第一数据节点为所述节点系统中任意一个数据节点,所述发送节点为所述第一数据节点对应的心跳视图中标识的向所述第一数据节点发送心跳消息的数据节点。
4.根据权利要求1至3任一项所述的方法,其特征在于,所述方法还包括:
若接收到所述节点系统中任一数据节点发送的故障汇报信息,所述故障汇报信息中包含有上报的故障节点,则根据除去所述故障汇报信息中汇报的故障节点之外的节点系统的拓扑结构,为所述节点系统中除故障节点外的每个数据节点生成对应的新的心跳视图,将每个所述新的心跳视图分别发送给对应的数据节点;
若接收到所述节点系统中任一数据节点发送的心跳视图查询信息,则查询该数据节点对应的最新的心跳视图,并将所述最新的心跳视图发送给该数据节点。
5.根据权利要求4所述的方法,其特征在于,所述将每个所述新的心跳视图分别发送给对应的数据节点,包括:
将每个新的心跳视图与对应数据节点最近一次的历史心跳视图进行比较获得至少一个第一数据节点,所述第一数据节点为最近一次历史心跳视图和第一数据节点对应的新的心跳视图不同的数据节点;
将所述第一数据节点对应的新的心跳视图发送给所述第一数据节点。
6.一种分布式心跳检测方法,其特征在于,包括:
第一数据节点接收第二数据节点发送的心跳消息,所述心跳消息中携带所述第二数据节点的第二心跳视图,所述第二心跳视图标识所述第二数据节点与不同的数据节点所组成的心跳检测关系;
对比所述第一数据节点的第一心跳视图与接收的所述第二心跳视图是否一致,其中,所述第一心跳视图标识有所述第一数据节点与不同的数据节点组成的心跳检测关系;
若所述第一心跳视图与所述第二心跳视图一致,则根据接收所述第二数据节点的心跳消息的时间和心跳间隔,判断所述第二数据节点是否发生故障;
若确定所述第二数据节点发生故障,则向中心节点发送故障汇报信息,所述故障汇报信息中包含有故障节点;
若所述第一心跳视图与所述第二心跳视图不一致,则向所述中心节点发送心跳视图查询信息,所述心跳视图查询信息用于查询所述中心节点生成的与所述第一数据节点对应的最新的心跳视图。
7.根据权利要求6所述的方法,其特征在于,所述对比所述第一数据节点的第一心跳视图与接收的所述第二心跳视图是否一致包括:
对比所述第一心跳视图与所述第二心跳视图中包含的共同的数据节点ID对应的数据节点之间的心跳检测关系是否相同。
8.根据权利要求6所述的方法,其特征在于,所述对比所述第一数据节点的心跳视图与接收的所述第二心跳视图是否一致之后还包括:
向所述第二数据节点发送响应信息,所述响应信息用于通知所述第一数据节点所述第一心跳视图与所述第二心跳视图不一致。
9.根据权利要求6所述的方法,其特征在于,所述根据接收所述第二数据节点的心跳消息的时间和心跳间隔,判断所述第二数据节点是否发生故障包括:
记录所述第二数据节点发送的心跳消息的时间;
若记录的所述心跳消息的时间在设置的心跳检测时长内未更新,则判断所述第二数据节点发生故障。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于华为技术有限公司,未经华为技术有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201310039942.6/1.html,转载请声明来源钻瓜专利网。