[發明專利]基于CEPH糾刪除容錯的讀取文件方法及裝置在審
| 申請號: | 201710088760.6 | 申請日: | 2017-02-17 |
| 公開(公告)號: | CN106991118A | 公開(公告)日: | 2017-07-28 |
| 發明(設計)人: | 李發明;張勤 | 申請(專利權)人: | 深圳市中博睿存信息技術有限公司 |
| 主分類號: | G06F17/30 | 分類號: | G06F17/30;H03M13/15 |
| 代理公司: | 深圳市世紀恒程知識產權代理事務所44287 | 代理人: | 胡海國,趙愛蓉 |
| 地址: | 518000 廣東省深圳市南山*** | 國省代碼: | 廣東;44 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 基于 ceph 刪除 容錯 讀取 文件 方法 裝置 | ||
技術領域
本發明涉及分布式存儲領域,尤其涉及一種基于CEPH糾刪除容錯的讀取文件方法及裝置。
背景技術
在CEPH分布式文件系統中,通常采用RS(k,m)的糾刪碼,即原始數據切片k塊,編碼出m塊校驗塊,分別存儲到k+m個節點中。糾刪碼覆蓋寫,需要至少m+1個節點的參與,包括1個數據節點,m個校驗塊節點。RS(k,m)的糾刪碼至多容忍m個節點丟失,需要k個節點才能解碼原始數據,所以覆蓋寫更新需要保持至少k個節點數據版本一致,才能保證更新不會造成數據丟失。特別是在做讀取操作時,糾刪數據塊分散在多個OSD或主機上,該數據的相應時間即為最慢的OSD或者主機上的糾刪數據塊相應時間,導致使用糾刪編碼的數據讀取性能較差。
發明內容
本發明的主要目的在于提供一種基于CEPH糾刪除容錯的讀取文件方法及裝置,旨在提高使用糾刪編碼的數據讀取性能。
為實現上述目的,本發明提供的一種基于CEPH糾刪除容錯的讀取文件方法包括如下步驟:
接收客戶端發送的讀取對象的請求;
根據請求計算需要讀取的數據塊,并根據客戶端id和對象id,向所有其它OSD發送請求讀取數據塊的廣播消息;
接收糾刪數據塊及校驗塊所在的OSD發送過來的請求讀取的數據塊;
將接收到的請求讀取的數據塊恢復出原對象并發送給客戶端。
優選地,所述接收客戶端發送的讀取對象的請求的步驟具體包括:客戶端根據Crush算法找到主OSD,主OSD接收客戶端發送的讀取對象的請求。
優選地,所述將接收到的請求讀取的數據塊恢復出原對象并發送給客戶端的步驟包括:
若糾刪比為K:M,則根據最先發回的K個數據塊或檢驗塊恢復出原對象,將恢復后的原對象發送給客戶端。
優選地,所述接收糾刪數據塊及校驗塊所在的OSD發送過來的請求讀取的數據塊的步驟具體包括:
主OSD根據客戶端id檢索糾刪數據塊及校驗塊所在的OSD內的緩存組內是否存在所述數據塊,如果存在,則直接提取;
如果不存在,則根據對象id和讀取范圍內對應的數據塊序號檢索Hashmap的索引結構,如果存在對應數據塊,則直接將所述數據塊返回至主OSD。
此外,為實現上述目的,本發明還提供一種基于CEPH糾刪除容錯的讀取文件裝置,所述基于CEPH糾刪除容錯的讀取文件裝置:
第一接收模塊,用于接收客戶端發送的讀取對象的請求;
第一發送模塊,用于根據請求計算需要讀取的數據塊,并根據客戶端id和對象id,向所有其它OSD發送請求讀取數據塊的廣播消息;
第二接收模塊,用于接收糾刪數據塊及校驗塊所在的OSD發送過來的請求讀取的數據塊;
第二發送模塊,用于將接收到的請求讀取的數據塊恢復出原對象并發送給客戶端。
優選地,所述客戶端用于根據Crush算法找到主OSD,所述第一接收模塊用于主OSD接收客戶端發送的讀取對象的請求。
優選地,所述第二發送模塊包括:
恢復單元,用于當糾刪比為K:M時,根據最先發回的K個數據塊或檢驗塊恢復出原對象,將恢復后的原對象發送給客戶端。
優選地,所述第二接收模塊包括:
提取單元,用于根據客戶端id檢索糾刪數據塊及校驗塊所在的OSD內的緩存組,如果存在所述數據塊,則直接提取;
返回單元,用于當不存在所述數據塊時,則根據對象id和讀取范圍內對應的數據塊序號檢索Hashmap的索引結構,如果存在對應數據塊,則直接將所述數據塊返回至主OSD。
本發明通過接收客戶端發送讀取對象的請求;根據請求計算需要讀取的數據塊,并根據客戶端id和對象id,向所有OSD發送請求讀取數據塊的消息;接收接收糾刪數據塊及校驗塊所在的OSD發送過來的請求讀取的數據塊;將接收到的請求讀取的數據塊恢復出原對象并發送給客戶端。采用本發明的讀取文件方法實現了讀取糾刪數據的優化,提高了糾刪編碼數據的讀取性能。
附圖說明
圖1為本發明基于CEPH糾刪除容錯的讀取文件方法第一實施例的流程示意圖;
圖2為本發明基于CEPH糾刪除容錯的讀取文件方法第二實施例中讀取數據塊的細化流程示意圖;
圖3為本發明基于CEPH糾刪除容錯的讀取文件裝置第一實施例的功能模塊示意圖;
圖4為本發明基于CEPH糾刪除容錯的讀取文件裝置第二實施例中第二接收模塊的細化功能模塊示意圖;
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于深圳市中博睿存信息技術有限公司,未經深圳市中博睿存信息技術有限公司許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201710088760.6/2.html,轉載請聲明來源鉆瓜專利網。





