[發明專利]分布式文件系統對多個副本數據進行處理的方法及該系統有效
| 申請號: | 201210381299.0 | 申請日: | 2012-10-10 |
| 公開(公告)號: | CN103729352B | 公開(公告)日: | 2017-07-28 |
| 發明(設計)人: | 伍海君;朱會燦;鄧大付;李銳;鄒永強;董乘宇;陳曉東;劉暢;趙大勇;楊紹鵬;闕太富;王磊;張書鑫;張銀鋒 | 申請(專利權)人: | 騰訊科技(深圳)有限公司 |
| 主分類號: | G06F17/30 | 分類號: | G06F17/30 |
| 代理公司: | 北京德琦知識產權代理有限公司11018 | 代理人: | 周華霞,王麗琴 |
| 地址: | 518044 廣東省深圳*** | 國省代碼: | 廣東;44 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 分布式 文件系統 副本 數據 進行 處理 方法 系統 | ||
技術領域
本發明涉及數據處理技術,尤其涉及分布式文件系統對多個副本數據進行處理的方法及該系統。
背景技術
參見圖1,為現有技術的分布式文件系統結構示意圖,該系統包括客戶端、主節點服務器以及多個數據節點。實際應用中,每個文件被劃分為多個數據塊,每個數據塊有多個副本數據,分別存儲在多個數據節點上;副本數據,也就是數據塊的備份數據。
當客戶端需要從數據節點讀取數據塊的副本備份數據時,客戶端從主節點服務器獲取數據塊多個副本數據的地址集合,從與地址集合包含的各節點地址對應的數據節點讀取副本數據。
數據節點上保存的副本數據預先寫入,在寫入過程中,由于寫入錯誤或數據節點故障等多種原因,常出現寫入某些數據節點的數據發生損壞;而現有技術只在主節點服務器記錄了多個副本數據的地址集合,不能獲知哪些節點地址對應的數據節點上的數據損壞;這樣,導致進行多個副本數據的讀取時,讀取到錯誤的數據,不能保證多個副本數據的一致性。
發明內容
本發明提供了一種分布式文件系統對多個副本數據進行處理的方法,該方法能夠保證分布式文件系統中多個副本數據的一致性。
本發明提供了一種分布式文件系統,該系統能夠保證分布式文件系統中多個副本數據的一致性。
一種分布式文件系統對多個副本數據進行處理的方法,該方法包括:
客戶端為數據塊的多個副本數據分別選取節點地址,由選取的節點地址組成地址集合,并為數據塊設置版本號;
客戶端向節點地址對應的數據節點寫入副本數據,并在寫入各數據節點的副本數據中添加設置的版本號;
如果副本數據在寫入過程中發生損壞,則客戶端增大設置的版本號,將增大的版本號添加到寫入各數據節點的副本數據中,并將增大后的版本號作為正確版本號,通知主節點服務器在硬盤上記錄數據塊多個副本數據的地址集合和正確版本號;
客戶端從主節點服務器獲取數據塊多個副本數據的地址集合和正確版本號;
客戶端從與地址集合包含的各節點地址對應的數據節點讀取副本數據;
客戶端判斷讀取的副本數據包含的版本號與正確版本號是否一致,如果是,則保留讀取的副本數據,否則丟掉讀取的副本數據。
一種分布式文件系統,該系統包括客戶端、主節點服務器和數據節點;
所述客戶端,用于從主節點服務器獲取數據塊多個副本數據的地址集合和正確版本號;從與地址集合包含的各節點地址對應的數據節點讀取副本數據;客戶端還用于判斷讀取的副本數據包含的版本號與正確版本號是否一致,如果是,則保留讀取的副本數據,否則丟掉讀取的副本數據;
所述主節點服務器,用于根據請求向客戶端反饋數據塊多個副本數據的地址集合和正確版本號;
所述數據節點,用于根據請求向客戶端提供副本數據;
所述客戶端包括獲取單元、讀取單元和判斷單元,所述主節點服務器包括信息反饋單元,所述數據節點包括數據提供單元;
所述獲取單元,用于從主節點服務器獲取數據塊多個副本數據的地址集合和正確版本號,將地址集合發送給讀取單元,將正確版本號發送給判斷單元;
所述讀取單元,用于從與地址集合包含的各節點地址對應的數據節點讀取副本數據,將副本數據包含的版本號發送給判斷單元;
所述判斷單元,用于判斷讀取的副本數據包含的版本號與正確版本號是否一致,如果是,則保留讀取的副本數據,否則丟掉讀取的副本數據;
所述信息反饋單元,用于根據請求向客戶端反饋數據塊多個副本數據的地址集合和正確版本號;
所述數據提供單元,用于根據請求向客戶端提供副本數據;
所述客戶端還包括第一選取設置單元、第一寫入單元和第一更新通知單元;
所述第一選取設置單元,用于為數據塊的多個副本數據分別選取節點地址,由選取的節點地址組成地址集合,并為數據塊設置版本號;將選取的節點地址和設置的版本號發送給第一寫入單元和第一更新通知單元;
所述第一寫入單元,用于向節點地址對應的數據節點寫入副本數據,并在寫入各數據節點的副本數據中添加設置的版本號;
所述第一更新通知單元,用于判斷出數據在寫入過程中發生損壞,則增大設置的版本號,將增大的版本號添加到寫入各數據節點的副本數據中;并將增大后的版本號作為正確版本號,通知主節點服務器在硬盤上記錄數據塊多個副本數據的地址集合和正確版本號。
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于騰訊科技(深圳)有限公司,未經騰訊科技(深圳)有限公司許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201210381299.0/2.html,轉載請聲明來源鉆瓜專利網。
- 上一篇:一種眼鏡鏡框托葉架拉力測試裝置
- 下一篇:一種檢查鋰離子電池里黑點的裝置
- 數據顯示系統、數據中繼設備、數據中繼方法、數據系統、接收設備和數據讀取方法
- 數據記錄方法、數據記錄裝置、數據記錄媒體、數據重播方法和數據重播裝置
- 數據發送方法、數據發送系統、數據發送裝置以及數據結構
- 數據顯示系統、數據中繼設備、數據中繼方法及數據系統
- 數據嵌入裝置、數據嵌入方法、數據提取裝置及數據提取方法
- 數據管理裝置、數據編輯裝置、數據閱覽裝置、數據管理方法、數據編輯方法以及數據閱覽方法
- 數據發送和數據接收設備、數據發送和數據接收方法
- 數據發送裝置、數據接收裝置、數據收發系統、數據發送方法、數據接收方法和數據收發方法
- 數據發送方法、數據再現方法、數據發送裝置及數據再現裝置
- 數據發送方法、數據再現方法、數據發送裝置及數據再現裝置





