[發明專利]機群文件系統分布式元數據一致性保證方法及系統有效
| 申請號: | 201210591061.0 | 申請日: | 2012-12-31 |
| 公開(公告)號: | CN103077222A | 公開(公告)日: | 2013-05-01 |
| 發明(設計)人: | 鄭彩平;邵冰清;張軍偉;劉振軍;王利虎;張浩 | 申請(專利權)人: | 中國科學院計算技術研究所;天津中科藍鯨信息技術有限公司 |
| 主分類號: | G06F17/30 | 分類號: | G06F17/30 |
| 代理公司: | 北京泛華偉業知識產權代理有限公司 11280 | 代理人: | 王勇 |
| 地址: | 100190 北*** | 國省代碼: | 北京;11 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 機群 文件系統 分布式 數據一致性 保證 方法 系統 | ||
技術領域
本發明涉及機群文件系統分布式元數據操作技術,尤其涉及機群文件系統中保證分布式元數據一致性的方法
背景技術
在大規模機群文件系統中,元數據與數據服務分離已經成為了一種趨勢。一方面,數據訪問不必通過元數據服務器,而是采用帶外方式直接訪問存儲設備,從而獲取較高的數據訪問性能;另一方面,元數據服務器專門提供元數據服務,卸載了數據訪問負載,從而單臺元數據服務器可以支持更高的客戶端訪問性能,管理更多的存儲設備,支持更大的系統規模擴展。然而,隨著系統規模的不斷擴大,單臺元數據服務器逐漸成為制約系統擴展的瓶頸。為了進一步提升機群文件系統的擴展能力,通常采用多臺元數據服務器構成元數據服務器機群,以分散元數據負載,支持通過增加元數據服務器數量達到機群文件系統的橫向擴展。
在元數據服務器機群系統中,機群文件系統的元數據被分散分布在不同的元數據服務器上,不可避免會出現涉及不同元數據服務器的分布式元數據操作,需要在不同的元數據服務器上進行元數據更新子操作。如果分布式元數據操作過程中一些元數據服務器異常宕機,則會造成分布式元數據操作在正常元數據服務器上元數據更新子操作執行成功,而在異常宕機的元數據服務器上元數據更新子操作失敗的不一致狀態。因此,為了保證機群文件系統中元數據的一致性,需要保證在元數據服務器異常宕機的情況下,分布式元數據操作能夠原子提交,即分布式元數據操作能夠恢復到如下兩種狀態之一。要么(1)分布式元數據操作在所有涉及到的元數據服務器上的子操作都為執行完畢狀態;要么(2)分布式元數據操作在所有涉及到的元數據服務器上的子操作都為未執行狀態。
元數據服務器異常宕機后,內存中的信息丟失,只能根據磁盤中持久記錄的信息進行一致性恢復。目前采用較多的保證分布式元數據操作一致性的方法主要有兩階段提交方法(2PC,Two?Phase?Commit)以及基于兩階段提交方法的一些優化方法,比如簡化的分布式元數據操作兩階段提交方法(S2PC_MP,Simple?2PC?Metadata?Processing)以及雙向冗余分布式日志優化方法(即異步兩階段提交方法)等。在這些方法中,將所涉及的元數據服務器區分為協調者(Coordinator)和參與者(Participant)兩種角色。接收客戶端請求的元數據服務器作為協調者,參與操作的其他元數據服務器作為參與者。為方便介紹,協調者進行的元數據狀態更新操作稱為第一子操作,參與者進行的元數據狀態更新稱為第二子操作。以上所述的兩個子操作要么都執行成功,要么都執行不成功,這樣機群文件系統元數據才能處于一致的狀態。雙向冗余分布式日志方法的過程主要包括:
(1)協調者首先對第一個子操作的可執行性進行預先檢查(Sub-op1Precheck)。如果檢查通過,投贊成票(Vote?Yes),協調者為所述分布式元數據操作預先分配編號C-LSN(Log?Sequence?Number);如果檢查不通過,直接結束。
(2)協調者向參與者發送請求消息,請求參與者執行第二個子操作(Sub-op2),請求消息中包含協調者的分布式元數據操作編號C_LSN。
(3)參與者執行第二個子操作(Sub-op2)。如果執行不成功,則返回撤銷“Abort”消息,直接結束;如果執行成功,參與者為所述分布式元數據操作分配編號P_LSN,并將上述編號P_LSN、執行結果記錄以及提交“Commit”標志返回給協調者,不必等待將操作結果記錄寫入日志文件。之后,參與者異步將C_LSN、操作結果記錄、“Commit”標志寫入日志文件。
(4)協調者收到參與者返回消息后,如果是撤銷“Abort”消息,直接結束,不必再執行第一個子操作Sub-op1;如果是提交“Commit”消息,則執行第一個子操作Sub-op1,并返回給應用程序執行的結果,不必等待將第一個子操作的結果記錄寫入日志文件。之后,協調者異步將P_LSN、操作結果記錄、“Commit”標志寫入日志文件。
(5)協調者異步寫入日志文件(磁盤同步)完成后,向參與者發送確認消息ACK(C)。參與者收到確認消息ACK(C)后,表示協調者已經將P_LSN、第一個子操作結果記錄、“Commit”持久寫入到日志文件中了,參與者可以清除日志文件中所述分布式元數據操作記錄。
(6)參與者異步寫入日志文件(磁盤同步)完成后,向協調者發送確認消息ACK(P)。協調者收到確認消息ACK(P)消息后,表示參與者已經將C_LSN、第二個子操作結果記錄、“Commit”持久寫入到日志文件中了,協調者可以清除日志文件中所述分布式元數據操作記錄。
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于中國科學院計算技術研究所;天津中科藍鯨信息技術有限公司,未經中國科學院計算技術研究所;天津中科藍鯨信息技術有限公司許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201210591061.0/2.html,轉載請聲明來源鉆瓜專利網。
- 上一篇:一種食物垃圾處理器的碾磨腔蓋結構
- 下一篇:一種食物垃圾處理器的碾磨腔結構





