[发明专利]一种确定数据节点失效的方法有效
申请号: | 201410254980.8 | 申请日: | 2014-06-10 |
公开(公告)号: | CN103995901B | 公开(公告)日: | 2018-01-12 |
发明(设计)人: | 赵晓平;唐超;马丽伟;秦波;王锋 | 申请(专利权)人: | 北京京东尚科信息技术有限公司;北京京东世纪贸易有限公司 |
主分类号: | G06F17/30 | 分类号: | G06F17/30 |
代理公司: | 北京德琦知识产权代理有限公司11018 | 代理人: | 牛峥,王丽琴 |
地址: | 100080 北京*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 确定 数据 节点 失效 方法 | ||
技术领域
本发明涉及分布式数据库领域,特别涉及一种确定数据节点失效的方法。
背景技术
随着网络技术的不断发展,对数据的存储和访问的要求越来越高,由此,分布式数据库应运而生。分布式数据库的高扩展性和高可用性为许多需要不间断工作的网站解决了难题。
分布式数据库,是由分布在多个计算机节点上的子数据库组成,分布在各个计算机节点上的各个子数据库称为数据节点,各个数据节点在逻辑上是相关的,地位是平等的。为了保证整个分布式数据库的正常运行,必须即时了解每个数据节点的运行状态,以确定是否能正常提供服务,即确定数据节点是否有效。而网络波动、硬件故障等原因,都可能导致数据节点的失效,例如,网络波动会引起数据节点的暂时性失效,而硬件故障则会到时数据节点永久失效。因此需要一种有效的手段来确定当前数据节点是否失效。
Cassandra是一套开源分布式NoSQL数据库系统。由于Cassandra良好的可扩放性,已被众多知名网站所采纳,成为了一种流行的分布式结构化数据存储方案。在Cassandra中,判定节点失效的方法是采用基于疑似度的检测(Accrual Failure Detection)。该方法的基本思想是在分布式环境下,通过一个代表失效疑似度的值来判断数据节点是否失效。该方法是在一定的时间窗口内,不断向数据节点发送同步请求,如果数据节点未能响应同步消息一次,那么该数据节点的失效疑似度的值就加1,当失效疑似度的值达到某个设定的阈值后,就确定该数据节点的永久失效。
由于采用上述基于疑似度的检测的方法,通过同一个IP向数据节点发送同步请求,不能很好的避免因网络波动对所发送同步请求的影响,在一段时间内由于网络波动可能产生同步请求数据和/或数据节点对同步请求的响应数据的丢失,进而可能造成在发送同步请求的一段时间内,数据节点失效疑似度的值显著增加,甚至使得数据节点失效疑似度的达到所设定的阈值而被判定为永久失效,但实际上在这段时间过后,数据节点仍然会处于可用状态而并非真的永久失效。因此,现有的上述基于疑似度的检测的方法在使用过程中可能产生数据节点失效的误判。
发明内容
有鉴于此,本发明提供一种确定数据节点失效的方法,以准确的判断数据节点是因网络引起的暂时性失效,还是硬件原因引起的永久失效。
本申请的技术方案是这样实现的:
一种确定数据节点失效的方法,用于分布式数据库,该方法包括:
在访问所述分布式数据库的所有应用节点中,当任意一个应用节点连接不上所述分布式数据库中的某个数据节点时,向其它应用节点发出连接不上该数据节点的广播;
其它应用节点收到所述广播后,向该数据节点发出连接请求,以确定是否能够连接该数据节点;
当无法连接该数据节点的应用节点数量达到所设定的阈值时,确定该数据节点失效。
进一步,在访问所述分布式数据库的所有应用节点中,选出任意一个应用节点作为仲裁节点,以统计无法连接该数据节点的应用节点的数量。
进一步:
在所述仲裁节点中设定一判定值,并将所述判定值初始化为0;
当所述其它应用节点向该数据节点发出连接请求后,均将是否能够连接该数据节点的信息发送给所述仲裁节点;
所述仲裁节点接收所有应用节点发来的是否能够连接该数据节点的信息,且所述仲裁节点每收到一个应用节点发来的无法连接该数据节点的消息,便将所述判定值做一次加1操作;
当所述仲裁节点接收完所有应用节点发来的是否能够连接该数据节点的信息后:
若所述判定值达到所设定的阈值,则确定该数据节点失效;
若所述判定值未达到所设定的阈值,则确定该数据节点有效。
进一步,所述阈值为访问所述分布式数据库的所有应用节点数量的一半。
进一步,确定该数据节点失效之后,所述方法还包括:
将该数据节点从所述分布式数据库中删除;
启用该数据节点的备份节点。
进一步,确定该数据节点有效之后,所述方法还包括:
将所述判定值恢复为初始值0;
连接不上该数据节点的应用节点定时向该数据节点发送连接请求,以等待该数据节点恢复连接。
进一步,当任意一个应用节点连接不上所述分布式数据库中的某个数据节点时,屏蔽掉该应用节点到该数据节点的连接。
进一步,各个应用节点分属于不同IP。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京京东尚科信息技术有限公司;北京京东世纪贸易有限公司,未经北京京东尚科信息技术有限公司;北京京东世纪贸易有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201410254980.8/2.html,转载请声明来源钻瓜专利网。
- 数据显示系统、数据中继设备、数据中继方法、数据系统、接收设备和数据读取方法
- 数据记录方法、数据记录装置、数据记录媒体、数据重播方法和数据重播装置
- 数据发送方法、数据发送系统、数据发送装置以及数据结构
- 数据显示系统、数据中继设备、数据中继方法及数据系统
- 数据嵌入装置、数据嵌入方法、数据提取装置及数据提取方法
- 数据管理装置、数据编辑装置、数据阅览装置、数据管理方法、数据编辑方法以及数据阅览方法
- 数据发送和数据接收设备、数据发送和数据接收方法
- 数据发送装置、数据接收装置、数据收发系统、数据发送方法、数据接收方法和数据收发方法
- 数据发送方法、数据再现方法、数据发送装置及数据再现装置
- 数据发送方法、数据再现方法、数据发送装置及数据再现装置