CN103995901A - 一种确定数据节点失效的方法 - Google Patents

一种确定数据节点失效的方法 Download PDF

Info

Publication number
CN103995901A
CN103995901A CN201410254980.8A CN201410254980A CN103995901A CN 103995901 A CN103995901 A CN 103995901A CN 201410254980 A CN201410254980 A CN 201410254980A CN 103995901 A CN103995901 A CN 103995901A
Authority
CN
China
Prior art keywords
back end
node
application
connect
data node
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN201410254980.8A
Other languages
English (en)
Other versions
CN103995901B (zh
Inventor
赵晓平
唐超
马丽伟
秦波
王�锋
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Beijing Jingdong Century Trading Co Ltd
Beijing Jingdong Shangke Information Technology Co Ltd
Original Assignee
Beijing Jingdong Century Trading Co Ltd
Beijing Jingdong Shangke Information Technology Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Beijing Jingdong Century Trading Co Ltd, Beijing Jingdong Shangke Information Technology Co Ltd filed Critical Beijing Jingdong Century Trading Co Ltd
Priority to CN201410254980.8A priority Critical patent/CN103995901B/zh
Publication of CN103995901A publication Critical patent/CN103995901A/zh
Application granted granted Critical
Publication of CN103995901B publication Critical patent/CN103995901B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/27Replication, distribution or synchronisation of data between databases or within a distributed database system; Distributed database system architectures therefor

Abstract

本发明公开了一种确定数据节点失效的方法,用于分布式数据库,该方法包括:在访问所述分布式数据库的所有应用节点中,当任意一个应用节点连接不上所述分布式数据库中的某个数据节点时,向其它应用节点发出连接不上该数据节点的广播;其它应用节点收到所述广播后,向该数据节点发出连接请求,以确定是否能够连接该数据节点;当无法连接该数据节点的应用节点数量达到所设定的阈值时,确定该数据节点失效。本发明的方法中,利用各个应用节点分属于不同IP的特点,确定该数据节点是否失效,可避免通过同一个IP向数据节点发送同步请求时由于网络波动对该单一IP造成的影响,进而可更加准确的判断数据节点的失效原因。

Description

一种确定数据节点失效的方法
技术领域
本发明涉及分布式数据库领域,特别涉及一种确定数据节点失效的方法。
背景技术
随着网络技术的不断发展,对数据的存储和访问的要求越来越高,由此,分布式数据库应运而生。分布式数据库的高扩展性和高可用性为许多需要不间断工作的网站解决了难题。
分布式数据库,是由分布在多个计算机节点上的子数据库组成,分布在各个计算机节点上的各个子数据库称为数据节点,各个数据节点在逻辑上是相关的,地位是平等的。为了保证整个分布式数据库的正常运行,必须即时了解每个数据节点的运行状态,以确定是否能正常提供服务,即确定数据节点是否有效。而网络波动、硬件故障等原因,都可能导致数据节点的失效,例如,网络波动会引起数据节点的暂时性失效,而硬件故障则会到时数据节点永久失效。因此需要一种有效的手段来确定当前数据节点是否失效。
Cassandra是一套开源分布式NoSQL数据库系统。由于Cassandra良好的可扩放性,已被众多知名网站所采纳,成为了一种流行的分布式结构化数据存储方案。在Cassandra中,判定节点失效的方法是采用基于疑似度的检测(Accrual FailureDetection)。该方法的基本思想是在分布式环境下,通过一个代表失效疑似度的值来判断数据节点是否失效。该方法是在一定的时间窗口内,不断向数据节点发送同步请求,如果数据节点未能响应同步消息一次,那么该数据节点的失效疑似度的值就加1,当失效疑似度的值达到某个设定的阈值后,就确定该数据节点的永久失效。
由于采用上述基于疑似度的检测的方法,通过同一个IP向数据节点发送同步请求,不能很好的避免因网络波动对所发送同步请求的影响,在一段时间内由于网络波动可能产生同步请求数据和/或数据节点对同步请求的响应数据的丢失,进而可能造成在发送同步请求的一段时间内,数据节点失效疑似度的值显著增加,甚至使得数据节点失效疑似度的达到所设定的阈值而被判定为永久失效,但实际上在这段时间过后,数据节点仍然会处于可用状态而并非真的永久失效。因此,现有的上述基于疑似度的检测的方法在使用过程中可能产生数据节点失效的误判。
发明内容
有鉴于此,本发明提供一种确定数据节点失效的方法,以准确的判断数据节点是因网络引起的暂时性失效,还是硬件原因引起的永久失效。
本申请的技术方案是这样实现的:
一种确定数据节点失效的方法,用于分布式数据库,该方法包括:
在访问所述分布式数据库的所有应用节点中,当任意一个应用节点连接不上所述分布式数据库中的某个数据节点时,向其它应用节点发出连接不上该数据节点的广播;
其它应用节点收到所述广播后,向该数据节点发出连接请求,以确定是否能够连接该数据节点;
当无法连接该数据节点的应用节点数量达到所设定的阈值时,确定该数据节点失效。
进一步,在访问所述分布式数据库的所有应用节点中,选出任意一个应用节点作为仲裁节点,以统计无法连接该数据节点的应用节点的数量。
进一步:
在所述仲裁节点中设定一判定值,并将所述判定值初始化为0;
当所述其它应用节点向该数据节点发出连接请求后,均将是否能够连接该数据节点的信息发送给所述仲裁节点;
所述仲裁节点接收所有应用节点发来的是否能够连接该数据节点的信息,且所述仲裁节点每收到一个应用节点发来的无法连接该数据节点的消息,便将所述判定值做一次加1操作;
当所述仲裁节点接收完所有应用节点发来的是否能够连接该数据节点的信息后:
若所述判定值达到所设定的阈值,则确定该数据节点失效;
若所述判定值未达到所设定的阈值,则确定该数据节点有效。
进一步,所述阈值为访问所述分布式数据库的所有应用节点数量的一半。
进一步,确定该数据节点失效之后,所述方法还包括:
将该数据节点从所述分布式数据库中删除;
启用该数据节点的备份节点。
进一步,确定该数据节点有效之后,所述方法还包括:
将所述判定值恢复为初始值0;
连接不上该数据节点的应用节点定时向该数据节点发送连接请求,以等待该数据节点恢复连接。
进一步,当任意一个应用节点连接不上所述分布式数据库中的某个数据节点时,屏蔽掉该应用节点到该数据节点的连接。
进一步,各个应用节点分属于不同IP。
从上述方案可以看出,本发明的确定数据节点失效的方法中,当某一应用节点连接不上某个数据节点后,通过多个应用节点向该数据节点发出连接请求以确定是否能够连接该数据节点,进而确定该数据节点是否失效,由于各个应用节点分属于不同IP,进而可避免现有技术中通过同一个IP向数据节点发送同步请求时由于网络波动对该单一IP造成的影响。本发明比现有技术更加准确的判断数据节点是因网络引起的暂时性失效,还是硬件原因引起的永久失效。
附图说明
图1为本发明的确定数据节点失效的方法流程图;
图2为本发明实施例流程图。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下参照附图并举实施例,对本发明作进一步详细说明。
本发明的确定数据节点失效的方法用于分布式数据库,如图1所示,该方法包括:
在访问所述分布式数据库的所有应用节点中,当任意一个应用节点连接不上所述分布式数据库中的某个数据节点时,向其它应用节点发出连接不上该数据节点的广播;
其它应用节点收到所述广播后,向该数据节点发出连接请求,以确定是否能够连接该数据节点;
当无法连接该数据节点的应用节点数量达到所设定的阈值时,确定该数据节点失效。
其中,统计无法连接该数据节点的应用节点的数量是在一仲裁节点中进行。仲裁节点的选择是:在访问所述分布式数据库的所有应用节点中,任意选出的一个应用节点作为仲裁节点。
所述仲裁节点统计无法连接该数据节点通过如下方法进行:
在所述仲裁节点中设定一判定值,并将所述判定值初始化为0;
当所述其它应用节点向该数据节点发出连接请求后,均将是否能够连接该数据节点的信息发送给所述仲裁节点;
所述仲裁节点接收所有应用节点发来的是否能够连接该数据节点的信息,且所述仲裁节点每收到一个应用节点发来的无法连接该数据节点的消息,便将所述判定值做一次加1操作;
当所述仲裁节点接收完所有应用节点发来的是否能够连接该数据节点的信息后:
若所述判定值达到所设定的阈值,则确定该数据节点失效;
若所述判定值未达到所设定的阈值,则确定该数据节点有效。
与现有技术不同的是,本发明的方法是当某一应用节点连接不上某个数据节点后,通过多个应用节点向该数据节点发出连接请求以确定是否能够连接该数据节点,进而确定该数据节点是否失效,各个应用节点分属于不同IP,进而可避免现有技术中通过同一个IP向数据节点发送同步请求时由于网络波动对该单一IP造成的影响,进而比现有技术更加准确的判断数据节点是因网络引起的暂时性失效,还是硬件原因引起的永久失效。
本发明的上述方法中,当确定该数据节点失效之后,还包括:
将该数据节点从所述分布式数据库中删除;
启用该数据节点的备份节点。
进而实现了对失效数据节点替换。
当确定该数据节点有效之后,本发明的方法还包括:
将所述判定值恢复为初始值0;
连接不上该数据节点的应用节点定时向该数据节点发送连接请求,以等待该数据节点恢复连接。
在实际网络应用时,访问分布式数据库的应用节点的数量庞大,每个应用节点的IP地址各不相同,而分布式数据库中具有大量的数据节点。以下结合一个具体实施例,对本发明的方法进行说明。该实施例中,假设访问分布式数据库的应用节点共有N个,N>1,分布式数据库中具有M个数据节点(M>1),其中出现N个应用节点中的应用节点i(1≤i≤N)连接不上分布式数据库中的数据节点j(数据节点j为M个数据节点中的任意一个)。如图2所示,该实施例包括以下步骤:
步骤1、从N个应用节点中任意选出一个应用节点作为仲裁节点,并在仲裁节点中设定一判定值,并将判定值初始化为“0”,设定一阈值,并将阈值设置为N/2,之后进入步骤2。
步骤2、当应用节点i连接不上分布式数据库中的数据节点j时,向其它应用节点发出连接不上数据节点j的广播,之后进入步骤3。
所有应用节点中的任意一个应用节点连接不上分布式数据库中的某个数据节点时,还可进一步包括,屏蔽掉该应用节点到该数据节点的连接。例如本步骤2中,当应用节点i连接不上数据节点j时,应用节点i屏蔽掉其到数据节点j的连接,进而可避免应用节点i一直发起对数据节点j的连接但连接不上数据节点j所造成的网络资源开销。
步骤3、其它应用节点收到连接不上数据节点j的广播后,向数据节点j发出连接请求,之后进入步骤4。
步骤4、其它应用节点均将是否能够连接数据节点j的信息发送给所述仲裁节点,之后进入步骤5。
步骤5、仲裁节点接收所有应用节点发来的是否能够连接数据节点j的信息,且仲裁节点每收到1个应用节点发来的无法连接数据节点j的消息,便将判定值进行加1操作,之后进入步骤6。
步骤6、仲裁节点判定累加的判定值是否达到设定的阈值N/2:若累加的判定值达到设定的阈值N/2,则确定数据节点j失效,之后进入步骤7;若累加的判定值未达到所设定的阈值N/2,则确定该数据节点有效,之后进入步骤9。
步骤7、将数据节点j从所述分布式数据库中删除,之后进入步骤8。
步骤8、启用数据节点j的备份节点j’,以替代数据节点j。
步骤9、仲裁节点将所述判定值恢复为初始值0,并通知应用节点i数据节点j有效,之后进入步骤10;
步骤10、应用节点i接收到仲裁节点发来的数据节点j有效的消息后,定时向数据节点j发送连接请求,以等待数据节点j恢复连接。
采用本发明的确定数据节点失效的方法,当某一应用节点连接不上某个数据节点后,通过多个应用节点向该数据节点发出连接请求以确定是否能够连接该数据节点,进而确定该数据节点是否失效,由于各个应用节点分属于不同IP,进而可避免现有技术中通过同一个IP向数据节点发送同步请求时由于网络波动对该单一IP造成的影响。本发明比现有技术更加准确的判断数据节点是因网络引起的暂时性失效,还是硬件原因引起的永久失效。
以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明保护的范围之内。

Claims (8)

1.一种确定数据节点失效的方法,用于分布式数据库,该方法包括:
在访问所述分布式数据库的所有应用节点中,当任意一个应用节点连接不上所述分布式数据库中的某个数据节点时,向其它应用节点发出连接不上该数据节点的广播;
其它应用节点收到所述广播后,均向该数据节点发出连接请求,以确定是否能够连接该数据节点;
当无法连接该数据节点的应用节点数量达到所设定的阈值时,确定该数据节点失效。
2.根据权利要求1所述的确定数据节点失效的方法,其特征在于:
在访问所述分布式数据库的所有应用节点中,选出任意一个应用节点作为仲裁节点,以统计无法连接该数据节点的应用节点的数量。
3.根据权利要求2所述的确定数据节点失效的方法,其特征在于:
在所述仲裁节点中设定一判定值,并将所述判定值初始化为0;
当所述其它应用节点向该数据节点发出连接请求后,均将是否能够连接该数据节点的信息发送给所述仲裁节点;
所述仲裁节点接收所有应用节点发来的是否能够连接该数据节点的信息,且所述仲裁节点每收到一个应用节点发来的无法连接该数据节点的消息,便将所述判定值做一次加1操作;
当所述仲裁节点接收完所有应用节点发来的是否能够连接该数据节点的信息后:
若所述判定值达到所设定的阈值,则确定该数据节点失效;
若所述判定值未达到所设定的阈值,则确定该数据节点有效。
4.根据权利要求1所述的确定数据节点失效的方法,其特征在于:所述阈值为访问所述分布式数据库的所有应用节点数量的一半。
5.根据权利要求1所述的确定数据节点失效的方法,其特征在于,确定该数据节点失效之后,所述方法还包括:
将该数据节点从所述分布式数据库中删除;
启用该数据节点的备份节点。
6.根据权利要求3所述的确定数据节点失效的方法,其特征在于,确定该数据节点有效之后,所述方法还包括:
将所述判定值恢复为初始值0;
连接不上该数据节点的应用节点定时向该数据节点发送连接请求,以等待该数据节点恢复连接。
7.根据权利要求1所述的确定数据节点失效的方法,其特征在于,当任意一个应用节点连接不上所述分布式数据库中的某个数据节点时,屏蔽掉该应用节点到该数据节点的连接。
8.根据权利要求1所述的确定数据节点失效的方法,其特征在于,各个应用节点分属于不同IP。
CN201410254980.8A 2014-06-10 2014-06-10 一种确定数据节点失效的方法 Active CN103995901B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201410254980.8A CN103995901B (zh) 2014-06-10 2014-06-10 一种确定数据节点失效的方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201410254980.8A CN103995901B (zh) 2014-06-10 2014-06-10 一种确定数据节点失效的方法

Publications (2)

Publication Number Publication Date
CN103995901A true CN103995901A (zh) 2014-08-20
CN103995901B CN103995901B (zh) 2018-01-12

Family

ID=51310066

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201410254980.8A Active CN103995901B (zh) 2014-06-10 2014-06-10 一种确定数据节点失效的方法

Country Status (1)

Country Link
CN (1) CN103995901B (zh)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105306545A (zh) * 2015-09-28 2016-02-03 浪潮(北京)电子信息产业有限公司 一种集群对外服务节点失效接管的方法及系统
CN105975212A (zh) * 2016-04-29 2016-09-28 深圳市永兴元科技有限公司 分布式数据系统失效检测处理方法及装置
CN108616566A (zh) * 2018-03-14 2018-10-02 华为技术有限公司 raft分布式系统选主方法、相关设备及系统
CN112860799A (zh) * 2021-02-22 2021-05-28 浪潮云信息技术股份公司 一种分布式数据库数据同步的管理方法
CN113783735A (zh) * 2021-09-24 2021-12-10 小红书科技有限公司 Redis集群中故障节点的识别方法、装置、设备和介质

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102231681A (zh) * 2011-06-27 2011-11-02 中国建设银行股份有限公司 一种高可用集群计算机系统及其故障处理方法
US20120101987A1 (en) * 2010-10-25 2012-04-26 Paul Allen Bottorff Distributed database synchronization
CN102882792A (zh) * 2012-06-20 2013-01-16 杜小勇 互联网传播路径图简化方法
US20130246608A1 (en) * 2012-03-15 2013-09-19 Microsoft Corporation Count tracking in distributed environments
US20130297976A1 (en) * 2012-05-04 2013-11-07 Paraccel, Inc. Network Fault Detection and Reconfiguration

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20120101987A1 (en) * 2010-10-25 2012-04-26 Paul Allen Bottorff Distributed database synchronization
CN102231681A (zh) * 2011-06-27 2011-11-02 中国建设银行股份有限公司 一种高可用集群计算机系统及其故障处理方法
US20130246608A1 (en) * 2012-03-15 2013-09-19 Microsoft Corporation Count tracking in distributed environments
US20130297976A1 (en) * 2012-05-04 2013-11-07 Paraccel, Inc. Network Fault Detection and Reconfiguration
CN102882792A (zh) * 2012-06-20 2013-01-16 杜小勇 互联网传播路径图简化方法

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105306545A (zh) * 2015-09-28 2016-02-03 浪潮(北京)电子信息产业有限公司 一种集群对外服务节点失效接管的方法及系统
CN105306545B (zh) * 2015-09-28 2018-09-07 浪潮(北京)电子信息产业有限公司 一种集群对外服务节点失效接管的方法及系统
CN105975212A (zh) * 2016-04-29 2016-09-28 深圳市永兴元科技有限公司 分布式数据系统失效检测处理方法及装置
CN108616566A (zh) * 2018-03-14 2018-10-02 华为技术有限公司 raft分布式系统选主方法、相关设备及系统
CN112860799A (zh) * 2021-02-22 2021-05-28 浪潮云信息技术股份公司 一种分布式数据库数据同步的管理方法
CN113783735A (zh) * 2021-09-24 2021-12-10 小红书科技有限公司 Redis集群中故障节点的识别方法、装置、设备和介质

Also Published As

Publication number Publication date
CN103995901B (zh) 2018-01-12

Similar Documents

Publication Publication Date Title
EP3855692A1 (en) Network security monitoring method, network security monitoring device, and system
KR102076862B1 (ko) 네트워크 성능지표를 시각화하는 방법 및 장치, 및 시스템
CN103995901B (zh) 一种确定数据节点失效的方法
CN107769943B (zh) 一种主备集群切换的方法和设备
US10795744B2 (en) Identifying failed customer experience in distributed computer systems
CN106559166B (zh) 用于分布式处理系统中基于指纹的状态检测方法及设备
CN110149220A (zh) 一种管理数据传输通道的方法及装置
WO2014166265A1 (en) Method, terminal, cache server and system for updating webpage data
US9596313B2 (en) Method, terminal, cache server and system for updating webpage data
CN104065508A (zh) 应用服务健康检查方法、装置和系统
CN104579765A (zh) 一种集群系统的容灾方法和装置
US20170351560A1 (en) Software failure impact and selection system
CN104301140A (zh) 业务请求响应方法、装置和系统
CN104580432A (zh) memcached系统及内存缓存数据提供、维护和集群维护方法及装置
US11341842B2 (en) Metering data management system and computer readable recording medium
CN106302412A (zh) 一种针对信息系统抗压性测试的智能检测系统和检测方法
US8521869B2 (en) Method and system for reporting defects within a network
JP4724763B2 (ja) パケット処理装置およびインタフェースユニット
US11477098B2 (en) Identification of candidate problem network entities
CN106682040A (zh) 数据管理方法及装置
CN111309515B (zh) 一种容灾控制方法、装置及系统
CN103530297A (zh) 一种自动进行网站分析的方法及装置
CN103297480A (zh) 一种应用服务自动检测系统和方法
US8566634B2 (en) Method and system for masking defects within a network
CN110636090B (zh) 窄带宽条件下的数据同步方法和装置

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant