[發明專利]分布式集群文件系統的緩存同步方法和設備有效
| 申請號: | 201310596276.6 | 申請日: | 2013-11-21 |
| 公開(公告)號: | CN103559319B | 公開(公告)日: | 2017-07-07 |
| 發明(設計)人: | 曾紅麗 | 申請(專利權)人: | 華為技術有限公司 |
| 主分類號: | G06F17/30 | 分類號: | G06F17/30;H04L29/08 |
| 代理公司: | 北京同立鈞成知識產權代理有限公司11205 | 代理人: | 劉芳 |
| 地址: | 518129 廣東*** | 國省代碼: | 廣東;44 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 分布式 集群 文件系統 緩存 同步 方法 設備 | ||
技術領域
本發明實施例涉及數據通訊技術,尤其涉及一種分布式集群文件系統的緩存同步方法和設備。
背景技術
分布式集群文件系統能夠解決海量數據存儲的問題,在集群中,多臺設備聯合起來對外提供服務,用多個節點(服務器)來代替一個節點完成任務,既提高了處理能力,還能夠保證高可靠性。對稱分布式的集群文件系統具有全局統一的命名空間,存儲空間對于各個節點都是可見并且相同的,元數據和數據可以分布到集群的任何節點上,當然,從任意節點也可以訪問到系統中存儲的所有數據。
當前的存儲系統都至少分為2級存儲:存儲物理介質和從主存中開辟出的緩存。為了提升分布式集群文件系統的訪問性能,在各個節點會有數據的高速緩存,當客戶端讀訪問某部分數據時,接收此請求的節點首先查詢數據是否存儲在本節點的高速緩存中,若是,直接返回,若否,向磁盤發送I/O請求,將數據從磁盤讀取到緩存中并暫時保存起來,以備下次訪問時不需要從磁盤讀取,從緩存中直接讀取,以提升讀性能。同樣,當客戶端寫訪問某部分數據時,接收此請求的節點先將數據寫入緩存,而不是直接寫盤,當節點中或者整個系統的緩存中積累了一定量的寫數據時再一起將數據寫入磁盤,以提升寫性能。當系統中多個節點交互對同一文件進行讀寫訪問時,如何高效地保證數據的一致性是系統需要重點解決的問題。
現有技術中,對于分布式集群文件系統來說,為了保證數據的一致性必須要用到分布式鎖,訪問數據之前,首先需要申請此數據對應的分布式鎖。分布式鎖有讀鎖和寫鎖,讀鎖可以并發,寫鎖為獨占,即多個節點可以并發讀同一部分數據,但若某個節點正在修改此部分數據,其他節點必須等到修改完成之后才能訪問,訪問到的數據包括最新修改的數據。以下將通過一個具體例子來說明,圖1為現有技術中文件的讀寫流程示意圖,如圖1所示,節點1首先修改了文件1的第0數據塊,由于之前沒有任何節點來申請過文件1對應的寫鎖,鎖處于初始化狀態,鎖管理裝置直接授權給節點1,節點1獲得寫鎖之后,修改第0數據塊,修改后的數據保存在緩存中。之后節點2對文件1寫訪問,需要修改文件1的第4數據塊,分布式鎖發現節點1申請過寫鎖,于是向節點1回收文件1的寫鎖,節點1接收到寫鎖回收的命令之后,首先將文件1的緩存數據下盤,由于節點2申請的是寫鎖,意味著節點2要修改文件1的數據,所以節點1上與文件1相關的緩存數據可能不會是最新的了,需要將其無效,之后將鎖權限交還給鎖管理裝置,鎖管理裝置將鎖權限授權給節點2,節點2獲得寫鎖之后修改相應的數據到緩存,修改之后節點1又來讀訪問文件1的第0數據塊,與之前一樣鎖管理裝置到節點2回收寫鎖,回收過程中將節點2的數據寫盤,由于節點1申請的是讀鎖,讀不會修改數據,所以節點2的緩存還是有效的,即不用無效相應的緩存,之后鎖管理裝置將讀鎖授權給節點1,節點1從緩存中找到相應的數據,但是發現此數據是無效的,說明此數據可能不是最新的,從磁盤讀取。
通過上述的例子可以看出,通過將最新數據寫盤來保證各個節點訪問到的數據的一致性,會存在如下諸多缺點:若集群中各節點交互對同一個文件進行讀寫操作,會造成此文件的數據頻繁讀盤寫盤,緩存沒有任何加速作用,反而增加系統的復雜度,而且頻繁的讀盤、寫盤將造成系統的延遲增大,將極大地影響性能。
發明內容
本發明實施例提供一種分布式集群文件系統的緩存同步方法和設備,能夠避免頻繁的讀盤、寫盤將造成系統的延遲增大,提高系統性能。
本發明第一發明提供一種分布式集群文件系統的緩存同步方法,包括:
當客戶端對第一節點上的目標文件進行寫訪問時,所述第一節點向鎖管理裝置申請所述目標文件對應的寫鎖,所述寫鎖中包括對所述目標文件進行過最新修改的第二節點的信息;
所述第一節點根據所述第二節點的信息獲取所述目標文件對應的最新全局緩存表,所述最新全局緩存表中保存有所述第二節點對所述目標文件的最新修改記錄;
所述第一節點根據所述第二節點對所述目標文件的最新修改記錄對所述目標文件進行修改,將修改后的數據保存在所述第一節點的緩存中,并將所述第一節點對所述目標文件的修改記錄更新到所述最新全局緩存表。
在本發明第一方面的第一種可能的實現方式中,所述第一節點根據所述第二節點對所述目標文件的最新修改記錄對所述目標文件進行修改,包括:
所述第一節點根據所述第二節點對所述目標文件的最新修改記錄確定是否獲取所述第二節點對所述目標文件的修改數據;
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于華為技術有限公司,未經華為技術有限公司許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201310596276.6/2.html,轉載請聲明來源鉆瓜專利網。





