[發明專利]一種用于在分布式存儲系統中執行文件寫入的方法與設備有效
| 申請號: | 201710115370.3 | 申請日: | 2017-03-01 |
| 公開(公告)號: | CN107145302B | 公開(公告)日: | 2020-06-19 |
| 發明(設計)人: | 劉善陽;張海勇;石超 | 申請(專利權)人: | 阿里巴巴集團控股有限公司 |
| 主分類號: | G06F3/06 | 分類號: | G06F3/06;G06F16/172;G06F16/182 |
| 代理公司: | 上海百一領御專利代理事務所(普通合伙) 31243 | 代理人: | 陳貞健;王路豐 |
| 地址: | 英屬開曼群島大開*** | 國省代碼: | 暫無信息 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 一種 用于 分布式 存儲系統 執行 文件 寫入 方法 設備 | ||
本申請的目的是提供一種用于在分布式存儲系統中執行文件寫入的方法與設備。具體地,向元數據管理設備提交關于目標文件的可寫數據塊的塊信息請求;接收所述元數據管理設備基于所述塊信息請求返回的、所述用戶設備對應的多個可寫數據塊;根據關于所述目標文件的寫入請求對所述多個可寫數據塊中之一執行文件寫入。與現有技術相比,本申請多個進程同時對文件的不同數據塊寫入使得寫入吞吐量增加,降低寫入熱點發生概率;遇到文件寫入失敗后,由數據管理設備、元數據管理設備更新存儲數據塊不可寫狀態,用戶設備將不可寫數據塊刪除選擇其它數據塊重新寫入,從而避免出現寫入失敗所致的寫入延時增長,減少小數據塊出現的概率,減輕用戶管理負擔。
技術領域
本申請涉及計算機領域,尤其涉及一種用于在分布式存儲系統中執行文件寫入的技術。
背景技術
隨著互聯網的普及,數據業務逐步增加,因此對分布式存儲系統的要求亦逐步提高,尤其是對文件寫入的吞吐量有一定的要求,在當前分布式存儲系統中,往往需要支持一個文件同時被多個進程度讀寫,即允許多個進程同時向一個文件寫入數據,其數據的一致性即交給其中的一個數據設備管理端節點負責,例如微軟的Azure系統即采用了這樣的措施。
然而,現有技術會因為每個文件只有一個對應可以寫數據的數據塊使得吞吐量受限,同時當多個客戶端同時對一個文件進行寫入,若遇到寫入失敗時會導致寫入延時增長,降低系統的可用性,且遇到寫入失敗后會導致數據塊的長度小于期望值,而小數據塊的數量增加使得管理代價增大。
發明內容
本申請的一個目的是提供一種用于在分布式存儲系統中執行文件寫入的方法與設備,用以解決分布式存儲系統中單文件多進程寫入吞吐量低以及寫入失敗所致系統不穩定的問題。
根據本申請的一個方面,本申請提供了一種在元數據管理設備端用于在分布式存儲系統中執行文件寫入的方法,該方法解決了分布式存儲系統中單文件多進程寫入吞吐量低以及寫入失敗所致系統不穩定的問題,該方法包括:
獲取用戶設備提交的關于目標文件的可寫數據塊的塊信息請求;
根據所述目標文件對應的可寫塊數量閾值確定所述用戶設備對應的多個可寫數據塊,其中,所述多個可寫數據塊包括已分配給所述目標文件的其他用戶設備的可寫數據塊或新分配的可寫數據塊;
將所述多個可寫數據塊返回至所述用戶設備。
根據本申請的另一個方面,本申請提供了一種在用戶設備端用于在分布式存儲系統中執行文件寫入的方法,該方法解決了分布式存儲系統中單文件多進程寫入吞吐量低以及寫入失敗所致系統不穩定的問題,該方法包括:
向元數據管理設備提交關于目標文件的可寫數據塊的塊信息請求;
接收所述元數據管理設備基于所述塊信息請求返回的、所述用戶設備對應的多個可寫數據塊;
向對應主數據管理設備發送關于所述目標文件的寫入請求以對所述多個可寫數據塊中之一執行文件寫入。
根據本申請的另一個方面,本申請提供了一種在主數據管理設備端用于在分布式存儲系統中執行文件寫入的方法,該方法解決了分布式存儲系統中單文件多進程寫入吞吐量低以及寫入失敗所致系統不穩定的問題,該方法包括:
接收用戶設備發送的對數據塊執行文件寫入的請求,并執行對所述數據塊的文件寫入;
若發生對所述數據塊執行文件寫入的失敗,向所述用戶設備報告失敗信息,并拒絕與所述用戶設備對應同一文件的其他用戶設備對所述數據塊執行文件寫入的請求;
更新所述數據塊的狀態為不可寫,并向對應元數據管理設備報告所述數據塊更新后的狀態。
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于阿里巴巴集團控股有限公司,未經阿里巴巴集團控股有限公司許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201710115370.3/2.html,轉載請聲明來源鉆瓜專利網。





