[發明專利]節點訪問方法和裝置在審
| 申請號: | 201410509449.0 | 申請日: | 2014-09-28 |
| 公開(公告)號: | CN104202434A | 公開(公告)日: | 2014-12-10 |
| 發明(設計)人: | 王鋒 | 申請(專利權)人: | 北京奇虎科技有限公司;奇智軟件(北京)有限公司 |
| 主分類號: | H04L29/08 | 分類號: | H04L29/08;H04L29/06 |
| 代理公司: | 北京智匯東方知識產權代理事務所(普通合伙) 11391 | 代理人: | 康正德;孫曉芳 |
| 地址: | 100088 北京市西城區新*** | 國省代碼: | 北京;11 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 節點 訪問 方法 裝置 | ||
技術領域
本發明涉及計算機技術領域,特別是一種節點訪問方法和裝置。
背景技術
Cassandra是依賴DHT(Distributed?Hash?Table,分布式哈希表)技術實現的一種典型的無中心節點的環形結構的分布式存儲系統。Cassandra數據存儲空間可以抽象為一個環形結構,數據就是通過hash(哈希)分散在這個環形存儲空間上。每個節點負責管理這個環形存儲空間上的某一塊連續的Range(范圍),落在此Range空間上的數據就存儲在這個節點上。
Cassandra的節點角色分為兩種,即接入節點和數據節點。首先,接入節點負責接收來自外界的訪問數據的請求,如增、刪、改、查請求,進而根據請求內容計算數據及其副本在Cassandra集群中所分布的數據節點,并負責請求的分發與應答的匯總。其次,數據節點負責數據副本的真實存儲。在Cassandra系統中每個節點都既可以作為接入節點,又可以作為數據節點而存在。由于Cassandra的每個節點都同時具有數據節點和接入節點二者功能,因而,來自外界(如客戶端)的訪問請求可以通過任何一個接入節點來訪問集群中的數據。即,由接入節點根據集群的副本放置策略,定位到數據及其副本所在的數據節點,從而完成客戶端訪問請求的分發與應答的匯總。Cassandra集群對外提供thrift(軟件框架)接口訪問方式,客戶端通過thrift協議連接指定接入節點發送訪問請求。
如上所述,相關技術中,客戶端請求訪問Cassandra提供的thrift協議連接的指定接入節點即可訪問Cassandra集群數據。然而,客戶端具體可以訪問哪些接入節點完全由客戶端來控制。客戶端通常維護一個接入節點的IP(Internet?Protocol,互聯網協議)列表,隨機從其中選擇一個IP連接訪問。這種方式通常存在以下缺點。
1、客戶端只知道Cassandra集群中存在若干接入節點的IP列表可以連接訪問。這個IP列表通過客戶端的配置文件中進行管理。但是,Cassandra集群規模動輒上千臺節點,客戶端管理上千個節點的IP的開銷很大,若只配置其中少量幾個接入節點,而往往會導致Cassandra節點間的資源占用不均衡,比如網卡帶寬、CPU資源占用等。
2、當接入節點出現變更,或者接入節點故障、停機時,客戶端無法迅速、及時地屏蔽故障的接入節點,從而導致大量的訪問失敗。
3、由于客戶端無法獲知Cassandra集群的接入節點的負載的高低,因而只能采用將請求平均發送到其配置的所有接入節點的策略。這樣,負載高的接入節點也要處理同樣多的請求,直接導致接入節點的負載更加嚴重,使得請求的訪問延遲大幅變長。
綜上,如何有效地解決上述問題成為目前亟待解決的技術問題。
發明內容
鑒于上述問題,提出了本發明以便提供一種克服上述問題或者至少部分地解決上述問題的節點訪問方法和相應的裝置。
依據本發明的一個方面,提供了一種節點訪問方法,包括:接收來自客戶端的、訪問分布式存儲系統存儲空間上的數據的訪問請求,從所述分布式存儲系統集群的多個節點中選擇能夠提供待訪問數據的至少兩個待訪問節點;獲取所述至少兩個待訪問節點的資源信息;根據獲取的所述資源信息,從所述至少兩個待訪問節點中選擇目標訪問節點,以使所述客戶端接入所述目標訪問節點,進行訪問操作。
可選地,所述方法還包括:所述分布式存儲系統集群的節點啟動時,將該節點的互聯網協議IP地址存儲至協同工作系統Zookeeper,并在所述Zookeeper的目錄樹中建立該節點與該節點的IP地址間的映射關系。
可選地,從所述至少兩個待訪問節點中選擇目標訪問節點之后,還包括:根據所述映射關系查詢所述目標訪問節點的IP地址;以使所述客戶端接入所述目標訪問節點,包括:以使所述客戶端利用所述目標訪問節點的IP地址接入所述目標訪問節點。
可選地,所述資源信息包括:節點各自所允許的訪問流量的信息和/或節點的性能參數值。
可選地,所述方法還包括:根據預設的時間周期,將所述分布式存儲系統集群的節點的負載評價指標信息和/或硬件參數信息存儲至所述Zookeeper。
可選地,所述負載評價指標信息包括下列至少之一:
中央處理器CPU使用率;
內存使用率;
磁盤輸入/輸出使用率;
網卡帶寬占用;
請求平均訪問時延。
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于北京奇虎科技有限公司;奇智軟件(北京)有限公司;,未經北京奇虎科技有限公司;奇智軟件(北京)有限公司;許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201410509449.0/2.html,轉載請聲明來源鉆瓜專利網。





