[發明專利]一種基于本地文件系統的小文件讀寫方法及系統在審
| 申請號: | 201710742715.8 | 申請日: | 2017-08-25 |
| 公開(公告)號: | CN107506447A | 公開(公告)日: | 2017-12-22 |
| 發明(設計)人: | 劉相樂 | 申請(專利權)人: | 鄭州云海信息技術有限公司 |
| 主分類號: | G06F17/30 | 分類號: | G06F17/30;G06F3/06 |
| 代理公司: | 北京集佳知識產權代理有限公司11227 | 代理人: | 羅滿 |
| 地址: | 450018 河南省鄭州市*** | 國省代碼: | 河南;41 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 一種 基于 本地 文件系統 文件 讀寫 方法 系統 | ||
1.一種基于本地文件系統的小文件讀寫方法,其特征在于,包括:
將本地文件系統中屬于同一目錄的小文件聚合成N個大文件,N為正整數;
為每個所述目錄生成一一對應的索引文件,所述索引文件包括所述目錄中所有小文件的名稱、小文件所在的大文件的名稱及小文件在大文件中的位置;
接收包括小文件的路徑名的小文件操作指令,根據所述小文件操作指令確定與所述小文件所屬的目錄對應的索引文件,所述操作包括讀和/或寫;
根據確定的所述索引文件將所述小文件操作指令的路徑名中的小文件的名稱和位置修改為所述小文件所在的大文件的名稱及所述小文件在大文件中的位置;
根據修改后的指令對所述小文件所在的大文件執行相應的操作,以實現對所述小文件的操作。
2.如權利要求1所述的方法,其特征在于,所述將本地文件系統中屬于同一目錄的小文件聚合成N個大文件的過程具體為:
將本地文件系統中屬于同一目錄的小文件聚合成第一大文件,直至所述第一大文件的大小達到預設的第一閾值;
當所述第一大文件的大小達到所述預設的第一閾值時,判斷是否還有屬于所述目錄的小文件不在所述第一大文件中,如果是,將不在所述第一大文件中的屬于所述目錄的小文件聚合成下一個大文件,直至屬于所述目錄的所有小文件聚合完畢,其中,每個大文件的大小不超過所述預設的第一閾值。
3.如權利要求1所述的方法,其特征在于,當要進行操作的所述小文件所屬的目錄中沒有大文件時,所述根據所述小文件操作指令確定與所述小文件所屬的目錄對應的索引文件的過程具體為:
在所述小文件所屬的目錄中創建一個大文件,將所述小文件聚合在創建的所述大文件中,并根據所述小文件的名稱、創建的所述大文件的名稱及所述小文件在創建的所述大文件中的位置創建與所述小文件所屬的目錄一一對應的索引文件。
4.如權利要求1所述的方法,其特征在于,當要進行操作的所述小文件所屬的目錄中有大文件時,所述根據所述小文件操作指令確定與所述小文件所屬的目錄對應的索引文件的過程具體為:
判斷所述小文件是否為新建的文件;
如果是,則判斷所述小文件所屬的目錄中最后一個大文件是否未達到預設的第一閾值,如果否,將所述小文件聚合在所述最后一個大文件中,并將所述小文件的名稱、最后一個所述大文件的名稱及所述小文件在最后一個所述大文件中的位置更新至與所述小文件所屬的目錄對應的索引文件;如果是,在所述小文件所屬的目錄中新建一個大文件將所述小文件聚合在新建的所述大文件中,并將所述小文件的名稱、新建的所述大文件的名稱及所述小文件在新建的所述大文件中的位置更新至與所述小文件所屬的目錄對應的索引文件;
如果否,則判斷本次操作是否需要為所述小文件分配新的空間,如果是,確定分配新的空間后的小文件在所述小文件所在的大文件中新的位置,并將所述新的位置更新至與所述小文件所屬的目錄對應的索引文件;如果否,在所述本地文件系統當前的索引文件中得到與所述小文件所屬的目錄對應的索引文件。
5.如權利要求1-4任一項所述的方法,其特征在于,所述根據修改后的指令對所述小文件所在的大文件執行相應的操作之后,該方法還包括:
將進行操作的所述小文件所在的大文件保存在緩存中。
6.如權利要求5所述的方法,其特征在于,所述根據所述小文件操作指令確定與所述小文件所屬的目錄對應的索引文件之后,該方法還包括:
將確定出的與所述小文件所屬的目錄對應的索引文件保存在所述緩存中。
7.如權利要求6所述的方法,其特征在于,所述將確定出的與所述小文件所屬的目錄對應的索引文件保存在緩存中之后,該方法還包括:
在所述緩存中生成一個列表元素與保存在所述緩存中的索引文件一一對應的目錄列表;
其中,所述目錄列表的每個所述列表元素包括與所述列表元素對應的索引文件對應的目錄的名稱、指向所述列表元素對應的索引文件對應的目錄中的大文件在內存中的緩存的索引指針、與所述列表元素對應的索引文件的最近訪問時間和標識與所述列表元素對應的索引文件在所述緩存中是否被修改過的臟標志位,當所述列表元素對應的索引文件在所述緩存中被修改過時將所述臟標志位標記為臟。
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于鄭州云海信息技術有限公司,未經鄭州云海信息技術有限公司許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201710742715.8/1.html,轉載請聲明來源鉆瓜專利網。





