[發明專利]面向持久內存文件系統的事務寫優化框架的方法及系統有效
| 申請號: | 202010104546.7 | 申請日: | 2020-02-20 |
| 公開(公告)號: | CN111414134B | 公開(公告)日: | 2021-05-25 |
| 發明(設計)人: | 黃林鵬;鄭圣安;沈艷艷;陳雨亭;晏艷 | 申請(專利權)人: | 上海交通大學;清華大學 |
| 主分類號: | G06F3/06 | 分類號: | G06F3/06;G06F11/14 |
| 代理公司: | 上海漢聲知識產權代理有限公司 31236 | 代理人: | 胡晶 |
| 地址: | 200240 *** | 國省代碼: | 上海;31 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 面向 持久 內存 文件系統 事務 優化 框架 方法 系統 | ||
1.一種面向持久內存文件系統的事務寫優化框架的系統,其特征在于,包括:
元數據模塊:寫文件輸入元數據模塊,動態備份寫文件系統中的元數據以及支持元數據故障恢復;
數據模塊:寫文件輸入數據模塊,保證寫文件數據的一致性,并在發生故障時恢復一致性狀態;
原子性決策邏輯模塊:當完成輸入元數據模塊和數據模塊后,原子性決策邏輯模塊判斷文件元數據和數據操作的原子性;并將原子性決策邏輯模塊判斷后的最新的元數據信息和/或數據信息寫回元數據模塊和/或數據模塊;
所述元數據模塊:動態備份寫文件系統中的元數據以及支持元數據故障恢復;
所述數據模塊:保證寫文件數據的一致性,并在發生故障時恢復一致性狀態;
所述原子性決策邏輯模塊:由決策原子性邏輯單元組成,用于保障元數據與數據操作的原子性。
2.根據權利要求1所述的一種面向持久內存文件系統的事務寫優化框架的系統,其特征在于,所述
元數據模塊包括:元數據備份數據存儲管理單元、元數據檢索管理單元、元數據預處理單元以及元數據寫回管理單元;
元數據模塊M1:在程序運行的初始化階段,在持久內存中劃分出一塊持久區域作為元數據備份數據存儲管理單元,存放文件元數據備份數據;
元數據模塊M2:在程序運行的初始化階段,在動態隨機存儲器創建元數據檢索管理單元的數據結構;
所述元數據檢索管理單元包括:兩顆紅黑樹和一個繁忙鏈表;
在動態隨機存儲器中創建兩顆紅黑樹;一顆元數據備份空閑紅黑樹統計元數據備份數據存儲管理單元的空閑插槽;另一顆元數據備份已用紅黑樹記錄元數據備份數據存儲管理單元已經使用的插槽;兩顆紅黑樹的節點由最小索引號和最大索引號組成;在初始化階段,元數據備份已用紅黑樹是一顆空樹;元數據備份空閑紅黑樹則包含一個節點,所述節點的最小索引號為0,最大索引號為所有插槽的個數減1;
在動態隨機存儲器中另外創建一顆最近最少使用的紅黑樹;最近最少使用的紅黑樹的節點由索引號、最后一次修改時間、鏈表指針、插槽號四個域組成;在初始化階段,所述最近最少使用的紅黑樹是一顆空樹;
在動態隨機存儲器中創建一個繁忙鏈表,繁忙鏈表的每一個節點由插槽號、鏈表指針兩個域構成,所述繁忙鏈表記錄當前正在執行操作的元數據,不能被其他的元數據替換;
元數據模塊M3:元數據預處理單元以元數據的索引號和最后一次修改時間為索引值,判斷當前要執行操作的元數據是否已經存在于元數據備份數據存儲管理單元;
當在最近最少使用的紅黑樹中找到,則當前元數據已經備份,直接本地修改文件元數據信息;
當所述元數據信息在最近最少使用的紅黑樹中沒有找到,則執行操作的元數據并沒有備份,查找所述的元數據備份空閑紅黑樹,當所述的元數據備份空閑紅黑樹不是空樹,即還有空閑插槽分配,則返回空閑插槽號,獲取當前元數據備份數據存儲管理單元中空閑的插槽,用于備份元數據信息;
當所述的元數據備份空閑紅黑樹是顆空樹,即當前所有插槽都在使用中,則需要剔除一個最近最少使用插槽并寫入新的元數據信息;依次遍歷最近最少使用的紅黑樹中的節點,獲取節點指向的元數據信息以及所占用的插槽編號;判斷當前節點所指向的插槽是否用于記錄當前正在執行操作的元數據的繁忙鏈表,當所述最近最少訪問節點所指向的插槽用于記錄當前正在執行操作的元數據,即元數據位于繁忙鏈表時,則重新遍歷下一個最近最少使用的節點;
當所述最近最少訪問節點所指向插槽沒有用于記錄當前正在執行操作的元數據,即元數據不在繁忙鏈表中,則替換插槽中的元數據信息,同時將最近最少使用節點從最近最少使用的紅黑樹中刪除,添加由新的元數據信息創建的節點;
所述元數據備份數據存儲管理單元包括一個動態備份數組,所述動態備份數組中的每一個元素都是一個文件的元數據信息;
所述元數據備份空閑紅黑樹快速分配和釋放元數據備份數據存儲管理單元的空閑插槽,紅黑樹中的每一個節點包括當前節點中最小分配的空閑插槽和最大分配的空閑插槽;
所述元數據備份已用紅黑樹,記錄當前已經做備份的元數據信息,每一個節點由索引節點號、最后一次修改時間、鏈表指針、空閑插槽號四個域組成;
所述繁忙鏈表用于記錄當前正在執行元數據或文件數據操作的元數據備份地址,即鏈表中每個節點由鏈表指針和動態備份數組中的插槽號組成;
所述元數據預處理單元包括:提供對元數據備份數據的預處理操作。
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于上海交通大學;清華大學,未經上海交通大學;清華大學許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/202010104546.7/1.html,轉載請聲明來源鉆瓜專利網。





