[發明專利]一種確定數據節點失效的方法有效
| 申請號: | 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.szxzyx.cn/pat/books/201410254980.8/2.html,轉載請聲明來源鉆瓜專利網。
- 數據顯示系統、數據中繼設備、數據中繼方法、數據系統、接收設備和數據讀取方法
- 數據記錄方法、數據記錄裝置、數據記錄媒體、數據重播方法和數據重播裝置
- 數據發送方法、數據發送系統、數據發送裝置以及數據結構
- 數據顯示系統、數據中繼設備、數據中繼方法及數據系統
- 數據嵌入裝置、數據嵌入方法、數據提取裝置及數據提取方法
- 數據管理裝置、數據編輯裝置、數據閱覽裝置、數據管理方法、數據編輯方法以及數據閱覽方法
- 數據發送和數據接收設備、數據發送和數據接收方法
- 數據發送裝置、數據接收裝置、數據收發系統、數據發送方法、數據接收方法和數據收發方法
- 數據發送方法、數據再現方法、數據發送裝置及數據再現裝置
- 數據發送方法、數據再現方法、數據發送裝置及數據再現裝置





