[發明專利]一種分布式文件系統的存儲方法及裝置有效
| 申請號: | 201310046645.4 | 申請日: | 2013-02-05 |
| 公開(公告)號: | CN103152395A | 公開(公告)日: | 2013-06-12 |
| 發明(設計)人: | 郭東東;趙彥榮;趙健博;洪亮 | 申請(專利權)人: | 北京奇虎科技有限公司;奇智軟件(北京)有限公司 |
| 主分類號: | H04L29/08 | 分類號: | H04L29/08;G06F17/30 |
| 代理公司: | 北京潤澤恒知識產權代理有限公司 11319 | 代理人: | 趙娟 |
| 地址: | 100088 北京市西城區新*** | 國省代碼: | 北京;11 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 一種 分布式 文件系統 存儲 方法 裝置 | ||
1.一種分布式文件系統的存儲方法,包括:
接收客戶端發送的文件信息,所述文件信息包括組成文件的至少一個條帶,所述條帶包括多個數據塊;
確定每個數據塊的目標存儲節點,所述目標存儲節點包括第一存儲節點、第二存儲節點、第三存儲節點,其中,所述第一存儲節點為客戶端所在的存儲節點或集群內隨機選取的存儲節點;所述第二存儲節點為所述數據塊所在條帶上的其他數據塊沒有分配到的存儲節點或集群內隨機選取的存儲節點;所述第三存儲節點為在集群內隨機選取的存儲節點;
將所述數據塊依次寫入所述第一存儲節點、第二存儲節點、第三存儲節點中。
2.如權利要求1所述的方法,所述確定每個數據塊的目標存儲節點的步驟包括:
獲取客戶端所在的存儲節點;若所述客戶端所在的存儲節點為集群內的節點,則將所述客戶端所在的存儲節點作為第一存儲節點;若所述客戶端所在的存儲節點不為集群內的節點,則在集群內隨機選取一個存儲節點作為第一存儲節點;
獲取條帶中數據塊的個數,以及已經寫入的各數據塊的存儲地址信息;依據所述條帶中數據塊的個數以及各數據塊的存儲地址信息查找集群中所述條帶的數據塊沒有分配到的存儲節點作為候選存儲節點,隨機選取一個候選存儲節點作為第二存儲節點;若所述候選存儲節點的剩余存儲空間小于所述數據塊的大小,則在集群內隨機選擇一個存儲節點作為第二存儲節點;
獲取集群中的各個存儲節點的剩余存儲空間,依據所述各個存儲節點的剩余存儲空間計算各個存儲節點在集群中的剩余空間百分比,依據所述各個存儲節點在集群中的剩余空間百分比在集群內隨機選取一個存儲節點作為第三存儲節點。
3.如權利要求1或2所述的方法,所述將數據塊依次寫入所述第一存儲節點、第二存儲節點、第三存儲節點中的步驟包括:
將所述目標存儲節點發送至客戶端;
第一存儲節點接收客戶端發送的數據塊,將所述數據塊寫入本地數據庫,同時將所述數據塊復制至第二存儲節點中;
所述第二存儲節點將接收的數據塊寫入本地數據庫,同時將所述數據塊復制至第三存儲節點中;
所述第三存儲節點將接收的數據塊寫入本地數據庫中。
4.如權利要求3所述的方法,所述第一存儲節點中寫入的數據塊為所述數據塊的第一副本,所述第二存儲節點中寫入的數據塊為所述數據塊的第二副本,所述第三存儲節點中寫入的數據塊為所述數據塊的第三副本,所述方法還包括:
當數據塊配置的副本數大于3時,從第4副本開始在集群內隨機選擇的存儲節點中進行存儲。
5.如權利要求1或2所述的方法,所述第二存儲節點與所述第一存儲節點位于不同的機架上。
6.一種分布式文件系統的存儲裝置,包括:
文件信息接收模塊,適于接收客戶端發送的文件信息,所述文件信息包括組成文件的至少一個條帶,所述條帶包括多個數據塊;
目標存儲節點確定模塊,適于確定每個數據塊的目標存儲節點,所述目標存儲節點包括第一存儲節點、第二存儲節點、第三存儲節點,其中,所述第一存儲節點為客戶端所在的存儲節點或集群內隨機選取的存儲節點;所述第二存儲節點為所述數據塊所在條帶上的其他數據塊沒有分配到的存儲節點或集群內隨機選取的存儲節點;所述第三存儲節點為在集群內隨機選取的存儲節點;
第一寫入模塊,適于將所述數據塊依次寫入所述第一存儲節點、第二存儲節點、第三存儲節點中。
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于北京奇虎科技有限公司;奇智軟件(北京)有限公司,未經北京奇虎科技有限公司;奇智軟件(北京)有限公司許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201310046645.4/1.html,轉載請聲明來源鉆瓜專利網。





