[發明專利]在用戶空間文件系統上實現聚合寫文件臟頁的方法和裝置有效
| 申請號: | 201110302148.7 | 申請日: | 2011-09-28 |
| 公開(公告)號: | CN102360369A | 公開(公告)日: | 2012-02-22 |
| 發明(設計)人: | 何抗洪;程寧;朱鵬 | 申請(專利權)人: | 中興通訊股份有限公司 |
| 主分類號: | G06F17/30 | 分類號: | G06F17/30 |
| 代理公司: | 北京派特恩知識產權代理事務所(普通合伙) 11270 | 代理人: | 張穎玲;程立民 |
| 地址: | 518057 廣東省深圳市南山*** | 國省代碼: | 廣東;44 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 用戶 空間 文件系統 實現 聚合 文件 方法 裝置 | ||
1.一種在用戶空間文件系統(fuse)上實現聚合寫文件臟頁的方法,其特 征在于,該方法包括:
fuse獲取臟頁數組;檢查臟頁數組中連續的臟頁,將連續的臟頁通過一個 fuse消息傳遞給用戶態文件系統的守護進程。
2.根據權利要求1所述的方法,其特征在于,所述fuse獲取臟頁數組為:
定義原型為頁寫函數(writepages)的函數fuse_writepages,函數 fuse_writepages根據輸入參數,確定文件寫的起始頁號和結束頁號;清除文件 寫完成標識,調用查找函數(pagevec_lookup_tag),并輸入起始頁號和結束頁 號,將帶有臟頁標志PAGEE_TAG_DCACHIRTY的頁,按頁號從小到大的順序 組成臟頁數組存儲在臟頁存儲數組(pvec)中。
3.根據權利要求2所述的方法,其特征在于,所述檢查臟頁數組中連續的 臟頁,將連續的臟頁通過一個fuse消息傳遞給用戶態文件系統的守護進程為: fuse依次檢查臟頁數組中的每一頁,根據臟頁數組中第一個臟頁的頁號設置連 續號變量,并在將第一個臟頁的頁地址加入到fuse消息的頁數組中之后,通過 連續號變量確定與第一個臟頁連續的臟頁,將確定的連續的臟頁也加入到所述 fuse消息的頁數組中,通過所述fuse消息將所述頁數組傳遞給用戶態文件系統 的守護進程。
4.根據權利要求3所述的方法,其特征在于,該方法進一步包括:預先設 置最大臟頁數,當fuse消息的頁數組中臟頁頁數達到最大臟頁數時,不再繼續 確定連續臟頁,將該fuse消息傳遞給用戶態文件系統的守護進程。
5.一種在fuse上實現聚合寫文件臟頁的裝置,其特征在于,該裝置包括: 獲取模塊、檢查模塊、傳遞模塊;其中,
獲取模塊,用于獲取臟頁數組;
檢查模塊,用于檢查臟頁數組中連續的臟頁,將連續的臟頁發送到傳遞模 塊;
傳遞模塊,用于將連續的臟頁通過一個fuse消息傳遞給用戶態文件系統的 守護進程。
6.根據權利要求5所述的裝置,其特征在于,所述獲取模塊,具體用于定 義原型為writepages的函數fuse_writepages,函數fuse_writepages根據輸入參數 wbc,確定文件寫的起始頁號和結束頁號;清除文件寫完成標識,調用 pagevec_lookup_tag函數,并輸入起始頁號和結束頁號,將帶有臟頁標志 PAGEE_TAG_DCACHIRTY的頁,按頁號從小到大的順序組成臟頁數組存儲在 pvec中。
7.根據權利要求6所述的裝置,其特征在于,所述檢查模塊,具體用于依 次檢查臟頁數組中的每一頁,根據臟頁數組中第一個臟頁的頁號設置連續號變 量,并將第一個臟頁的頁地址通知傳遞模塊,通過連續號變量確定與第一個臟 頁連續的臟頁,將確定的連續的臟頁的頁地址通知傳遞模塊。
8.根據權利要求7所述的裝置,其特征在于,所述傳遞模塊,具體用于將 所述檢查模塊通知的臟頁的頁地址加入到fuse消息的頁數組中,通過所述fuse 消息將所述頁數組傳遞給用戶態文件系統的守護進程。
9.根據權利要求8所述的裝置,其特征在于,所述傳遞模塊,進一步用于 設置最大臟頁數,當fuse消息的頁數組中臟頁頁數達到最大臟頁數時,通知檢 查模塊不再繼續確定連續臟頁,將所述fuse消息傳遞給用戶態文件系統的守護 進程。
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于中興通訊股份有限公司,未經中興通訊股份有限公司許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201110302148.7/1.html,轉載請聲明來源鉆瓜專利網。
- 上一篇:離心壓縮機殼體
- 下一篇:現澆混凝土梁模板的支撐結構





